@JRuiCoder
2016-06-05T15:23:48.000000Z
字数 1985
阅读 1117
java
类:构造对象的模板或蓝图。
封装
继承
依赖(use-a)
聚合(has-a) 类A的对象包含类B的对象
继承(is-a)
对象变量不是一个对象,也没有引用对象,不能将方法应用于这个变量上,需要将这个变量初始化。
GregorianCalendar类所包含的方法比Date类多。
通常习惯在访问器方法名前加上前缀get,更改器方法前面加上set
对实例域做出修改的方法称为更改器方法,仅访问实例域而不进行修改的方法称为访问器方法
编译源文件的方法:由于某个类使用了另一个类,及时没有显示编译,但是仍会由于引用相关的类而被编译
超类 superclass 基类 base class 父类 parent class
子类 subclass 派生类 derived class child class
class ClassName{field1field2constuctor1method1}
构造器的作用是构造并初始化实例对象。当创建一个对象时,系统为这个对象的属性进行初始化,这种默认初始化被所有基本类型设为0,或false,把所有引用类型的属性设置为null
语法
class 类名{变量声明;类的名称(参数列表){方法体}}
特点
构造器和类具有相同的名字
一个类可以有多个构造器
构造器可以有没有参数或者多个
构造器没有返回值和返回类型
构造器不能被显示调用,总是与new运算符仪器被调用,在创建一个类的新队形的同时,系统会自动调用该类的构造器为新对象初始化。
在java的每个类中,至少要有一个构造器,没有定义的话,编译器将自动插入缺省的构造器。
方法重载
类的定义中存在两个或两个以上的同名成员方法,为了使编译器能区分同名的成员方法,同名方法的参数个数或参数的数据类型不同。
构造方法的重载
建议为java类保留无参数的构造器,为一个类编写了有参数的构造器,通常建议为该类编写一个无参数的构造器。一本把构造器设置为public访问权限,设置为private是为了阻止其他类创建该类的实例。
当我们想调用超类的的某个方法,但是当前类也有相同的方法,这是可以使用super关键字,知识一个指示编译器调用超类方法的特殊关键字。
public double getSalary(){double baseSalary=super.getSalary();return baseSalary+bonus;}
有一个公共超类派生出来的所有类的集合被称为继承层次,在继承层次中,从某个特定的类到其祖先的路径被称为该类的继承类。
is-a规则:置换法则,程序中出现超类对象的任何地方都可以用子类对象置换。
不能将超类的引用赋给子类变量
编译器查看对象的声明类型和方法名
编译器将查看调用方法时提供的参数类型,重载解析。 方法的名字和参数列表称为方法的签名。
private static final 方法或者构造器 静态绑定,调用的方法依赖于隐式函数
当程序运行时并且采用动态绑定调用方法式,虚拟机一定调用与所引用对象的实际类型最合适的那个类
每次调用方法搜索开销较大,虚拟机预先为每个类创建了一个方法表method table
覆盖一个方法的时候,子类方法不能低于超类方法的可见性。
不允许扩展的类被称为final类
final class Executive extends Manager{···}
类中的特定方法也可以被声明为final,子类就不能覆盖这个方法。
一个类声明为final,但是域不是final ??? 内联方法
double x=10.987;int nx=(int)X;
在进行类型转换之前应该检查一下能否成功转换。
???? 一个子类的引用赋给一个超类变量,但是一个超类的引用赋给一个子类变量,必须进行类型转换,才能够通过运行时的检查。
只能在继承层次内进行类型转换
在将超类转换为子类之前,应该使用instanceof进行检查。
抽象类 abstract ,不能够实例化
protected 超类中的某些方法允许被子类访问,允许子类的方法访问超类的某个域。
是java所有类的始祖,如果没有明确的指出,Object就是这个类的超类。
用于检测一个对象是否等于另外一个对象,判断两个对象是否具有相同的引用。
ArrayList 具有自动调节数组容量的功能,采用类型参数的泛型类,指定数组列表保存的元素对象类型,需要用一对尖括号将类名括起来加在后面
ArrayList
声明和构造一个保存employee对象的数组列表
ArrayList<Employee> staff=new ArrayList<Employee> ();在java7,省去右边的类型参数ArrayList<Employee> staff=new ArrayList<>();
将元素添加到数组列表中。