1.abstract的函数只能在abstract类中
2.函数的重载
同一个类中,多个函数名相同
通过参数列表(参数类型,顺序,数目)区分它们的不同
println就是函数重载,根据不同的参数,选择不同的函数
3.构造函数
函数名与类名相同,没有返回类型,public
系统自动调用,在实例化一个对象是,调用构造函数
不能通过其他方式调用,主要完成初始化工作
补充:类中一定存在构造器;用户没有显示定义构造器,则java回默认分配无参构造器;一旦用户显示定义了构造器,不会再分配无参构造器。
4.静态初始化器
static{ //语句 }
特点:类初始化,所属类加入内存时运行;没有返回值,没有参数;其中的变量必须是static型的。
public class Account{ static int AccountNo = 0; public Account(){ AccountNo++; System.out.println("bb"); } static{ //静态初始化值 AccountNo=1000; System.out.println("aa"); } } public class Example{ public static void main(String[] args){ Account a = new Account(); System.out.println(a.AccountNo); Account b = new Account(); System.out.println(b.AccountNo); } } 结果: aa bb 1001 bb 1002
结论:static静态类初始化器早于其他函数执行;只执行一次;在static int AccountNo=0;之后,则在这之后执行。
补充:static静态初始化器是在实例化类时执行。
5.终结器
protected void finalize(){ //语句 }
执行条件:当垃圾达到一定数目,且系统不是很忙是,垃圾回收线程会自动完成,所有垃圾对象的内存释放工作。
6.面向对象程序设计
封装性(隐藏细节,权限控制);继承性(类的层次结构);多态性(方法名相同,实现不同)
7.对象的内存模型
栈:存放基本数据类型和对象
堆:存放对象实例
Bird a = new Bird();
final修饰的类不能被继承
final修饰成员变量,表示不能够改变,可以理解为常量
类的继承:子类不能继承父类的private方法
成员的覆盖:
1)变量的覆盖
2)函数的覆盖
构造函数的继承
public class Swan extends Bird{ public Swan(){ System.out.println("Swan!"); } public Swan(int num){ System.out.prinln("Lake!"); } } public class Bird{ public Bird(){ System.out.println("Bird!"); } } public class Example{ public static void main(String[] args){ Swan a = new Swan(); Swan b = new Swan(1); } } 结果: Bird! Swan! Bird! Lake!
public class Swan extends Bird{ public Swan(){ super(1,1); System.out.println("Swan!"); } public Swan(int num){ super(1,1); System.out.prinln("Lake!"); } } public class Bird{ public Bird(){ System.out.println("Bird!"); } public Bird(int c, double s){ System.out.println("CS!"); } } public class Example{ public static void main(String[] args){ Swan a = new Swan(); Swan b = new Swan(1); } } 结果: CS! Swan! CS! Lake! 结论:用了super以后,就不再默认先调用父类午餐构造函数了。
null 表示空对象
this 表示当前对象的一个引用(可以理解为别名);可以调用当前对象的方法;可以调用当前对象的构造函数;把当前对象的引用作为参数传给其他方法。
super 表示当前对象的父类对象的一个引用;可以调用当前对象的父类对象的方法;可以调用当前对象的父类对象的构造函数;把当前对象的父类对象的引用作为参数传递给其他方法。
多态性
原文:http://www.cnblogs.com/jinhuazhe2013/p/4319545.html