A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© 创造命运 中级黑马   /  2013-9-4 09:55  /  1129 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 创造命运 于 2013-9-9 18:15 编辑

1.  如果希望在子类中调用父类的构造函数,要求在子类的构造函数中去调用,可以通过super函数来实现
2.  类的成员函数的声明与定义的区别:函数的声明没有函数体,定义却要包括函数体
3.  在调用某个成员方法的时候,给出具体的参数个数和类型要一致
    2.3;3.4这样的数据如果不加f(如2.3f),则默认是double类型数
    4,5,6等默认是int型
    switch()的条件表达式只能是:int  short  byte  enum  char
4.  先设计类,然后根据类创建对象
5.  构造方法(函数)的主要功能是用来初始化类的成员属性(变量)
6.  构造函数可以有多个,但不能相同,否则编译时会报重复定义错误
如果希望在子类中调用父类的构造函数,要求在子类的构造函数中去调用,可以通过super函数来实现
7.  this只能在类定义方法中使用,不能在类定义的外部使用
8.  JAVA中类的static成员变量可以被任何一个对象访问,即类变量
类变量是该类的所有对象共享的变量,任何一个该类的对象去访问它时,取到的都是相同的值,同样任何一个该类的对象去修改它时,修改的也
是同一个变量。   static 变量如果不赋初值,会默认为0
访问类变量:    类名.变量名    或    对象名.变量名
9.  JAVA中规则:静态变量(类变量)原则上用类方法去访问和操作
  类方法中不能访问非类变量(静态变量)
  
  类变量与实例变量的区别:加上static称为类变量,否则为实例变量
     类变量是与类相关的,公共的属性
     实例变量属于每个对象个体的属性
     类变量可以通过类名.类变量名直接访问
  类方法小结:类方法属于与类相关的,公共的方法
       实例方法属于每个对象个体的方法
       类方法可以通过类名.类方法名直接访问
10.  JAVA编程的三大特征:
  封装:  四种访问控制修饰符:public, protected, 默认, private
          封装就是把抽象出的数据和对数据的操作封装在以起,数据被保护在内部,
          程序的其它部分只有通过被授权的操作(成员方法),才能对数据进行操作
继承:  使用已存在的类的定义作为基础建立新的技术,新类的定义可以增加新的数
         据或新的功能,也可以用父类的功能,但不能选择性的继承父类
         子类最多只能继承一个父类(指直接继承)
多态:就是一个引用在不同情况下的多种状态

抽象:就是把一类事物的共有的属性和行为提取出来,形成一个物理模型(模板)         

11.  方法重载(overload)
  就是累的同一种功能的多种实现方式,到底采用哪种方式,取决于调用者给出的参数
  注意事项:
   1、方法名相同
   2、方法的参数类型、个数、顺序至少有一项不同
   3、方法的返回类型可以不同
   4、方法的访问修饰符可以不同
   5、如果仅仅是返回类型或者修饰符或者两者都不相同,不能构成方法重载

     方法覆盖(override)
   1、子类的方法的返回类型、参数、方法名称要的父类的返回类型、参数、方法名称完全一样,否则编译出错
   2、子类的方法不能缩小父类方法的访问权限
   3、重写的方法不能比被重写的方法抛出更宽泛的异常(子类的方法不能扩大父类方法的异常)
   4、发生在具有继承关系的两个类之间
   5、私有的方法不能被覆盖
   6、构造方法不能被覆盖,因为构造方法不能被继承
   7、静态的方法不存在覆盖
   8、覆盖指的是成员方法,和成员变量无关
      
12.实现接口与继承类:
java的继承是单继承,这种单继承可以保证类的纯洁性,但对类的扩展有一定的影响:实现接口可以看作是对继承的一种补充
继承是底层式的,不太灵活,而实现接口可以在不打破继承关系的前提下,对某个功能扩展,很灵活
         
接口就是给出一些没有内容的方法,封装到一起,到某个类要使用的时候,再根据具体情况把这些方法写出来:
  class 类名 implements 接口
  {
   变量;
   方法;
  }
           
接口是更加抽象的类,抽象类里的方法可以有方法体,接口里的所有方法都没有方法体
接口体现了JAVA编程的多态和高内聚低耦合的设计思想
  接口-----注意事项
   1、接口不能被实例化
   2、接口中所有的方法都不能有主体
   3、一个类可以实现多个接口
   4、接口中可以有变量(但是变量不能用private和protected修饰)
    a、接口中的变量,本质上都是static的,而且是final类型的,即必须初始化,不管加不加static修饰
    b、在JAVA开发中,常常把经常用的变量定义在接口中,作为全局变量。访问形式:  接口名.变量名
   5、一个接口不能继承其它的类,但是可以继承别的接口
  抽象类:
   1、用abstract关键字来修饰一个类时,这个类就是抽象类
   2、用abstract关键字类修饰一个方法时,这个方法就是抽象方法
  抽象类---注意事项
   1、抽象类不能被实例化
   2、抽象类不一定要包含abstract方法,即抽象类可以没有abstract方法
   3、一旦类包含了abstract方法,则这个类必须声明为abstract方法
   4、抽象方法不能有主体
13.  前期绑定:在编译的时候可以确定的类型称为前期绑定
   final变量的定义:rate_aaa_bbb(下划线法),一般不用驼峰法
   final----概念:
    final可以修饰变量或是方法;
     1、当不希望父类的某个方法被子类覆盖(override)时,可以用final关键字修饰
     2、当不希望类的某个变量的值被修改,可以用final修饰
     3、当不希望类被继承时,可以用final修饰
   final----注意事项:
     1、final修饰的变量又叫常量,一般用xx_xx_xx类命名
     2、final修饰的变量在定义时,必须赋值,并且以后不能再赋值
   final----什么时候用
     1、因为安全的考虑,类的某个方法不允许被修改
     2、类不会被其他的类继承
     3、某些变量的值是固定不变的,比如圆周率
     
14.  二进制-----原码、反码、补码
  对有符号的而言:
   1、二进制的最高位是符号位:0表示正数;1表示负数
   2、正数的原码、补码、反码都一样
   3、负数的反码 = 它的原码符号位不变,其他位取反
   4、负数的补码 = 它的反码 + 1
   5、0的反码、补码都是0
   6、Java没有无符号数,换言之,java中的数都是有符号的
   7、在计算机运算的时候,都是以补码的方式来运算的
  >>  <<算术右移和算术左移,运算规则:
   算术右移:低位溢出,符号位不变,并用符号位补溢出的高位
   算术左移:符号位不变,低位补0
   
  >>>
   逻辑右移:低位溢出,高位补0
   
15. 排序:
内部排序:冒泡法、选择法、插入法、快速排序(有时间了解,最好弄懂并记下来)
外部排序:合并排序法、直接合并排序法
     
16. Java的底层是C++。
Java语言特性:
  简单性, 面向对象,可移植性(一次编译,到处运行),健壮性(自动垃圾回收机制,GC),多线程
Java的加载与执行
       编译
  **.java(源文件)---------->**.class(字节码文件)----->类装载器(ClassLoader)
  ----->Java虚拟机(JVM)----->操作系统----->硬件平台

23. int i;
      for(i=5, int j; j < 10; j++){}    (这样写是错的)
      int i, j;
      for (i=5, j; j < 10; j++){}
      或者 for (int i=5, j; j < 10; j++){}

在dos命令行输入:java Demo Good Morning   只有Good Morning成为args[]的元素
String: String a = "abc";
String b = "abc";
会先到字符池里寻找指向“abc”的引用,此时a == b的结果是true
      
String a = new String("abc");
String b = new String("abc");
不会涉及到字符池,此时 a == b的结果是false

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马