您的位置:首页 > 职场人生

黑马程序员日记-2

2015-11-18 19:51 197 查看
------- Android培训java培训 期待与您交流!
----------

内部类:一般用于类的设计

* 内部类可以直接访问外部类成员,外部类不能直接访问内部类成员,可 以通过内部类对象访问。

* 如果内部类中定义了静态成员, 该内部类也必须是静态的

* 内部类放在局部只能访问局部中用final修饰的局部变量

匿名内部类:

* 当函数参数是接口类型,而且接口中的方法不超过三个,可以用匿名内部 类作为实际参数进行传递

* 匿名内部类必须继承一个外部类或实现接口,匿名内部类其实是一个匿名 子类对象

 








 

 

继承:

* JAVA不支持多继承

* 构造方法不能被继承,子类对象生成时如果没有指定调用父类的哪个构造 函数则会先自动调用父类的无参构造函数,再调用自身的构造函数,目 的是子类继承了父类,就获取到了父类的内容(属性),所以使用父类 内容前要看父类是如何初始化父类自身内容的,所以必须访问父类中的 构造函数,如果父类构造函数没有定义无参构造函数,那么子类必须用 super();指定要访问父类的哪个构造函数,super语句必须放在子类构造函
数的第一行,因为父类初始化动作必须先完成

* 子类重写父类方法时,其方法的访问权限不能低于父类

主函数:格式固定,被JVM所识别和调用

public:权限必须最大

static: 虚拟机调用主函数不需要对象(类名.main())

void: 主函数不需要返回值

main: 函数名

String[] args:参数列表

final:

* 修饰变量时该变量成为常量,必须赋值且只能付一次值

* 修饰方法时该方法在子类中不能被重写

* 修饰类时该类不能被继承

抽象类:

* 抽象类中不一定都是抽象方法,含有抽象方法的类一定是抽象类

* 子类必须实现父类所有抽象方法,否则还是一个抽象类

* 抽象类不能实例化

* 抽象类有构造方法,用于给子类初始化

* abstract关键字不能和以下关键字共存:

* final:final修饰的类不能被继承,抽象类则需要子类继承

* private:抽象类中如果有私有方法,子类无法进行重写

* static:如果成员是静态的则不需要对象就能运行,而抽象方法没有方 法体

接口:接口是一种特殊的抽象类,如果一个抽象类中所有的方法都是抽象的,那 么这个抽象类就是接口,接口与接口间是继承关系,而且接口可以多继承

抽象类和接口的区别:

* 抽象类需要被继承而且只能单继承,接口需要被实现而且可以多实现

* 抽象类中可以定义抽象方法和非抽象方法,子类继承后可以直接使用非抽 象方法,接口中只能定义抽象方法,必须由子类实现

* 抽象类的继承是 is a 关系,定义该体系的基本共性内容

* 接口的实现是like a关系,定义该体系的额外功能

* 抽象类描述事物,接口描述事物可以具有的功能

多态:

* 父类的引用既可以指向父类对象,也可以指向子类对象,程序可以根据当 前指向自动调用不同对象的方法

 

* 通过父类引用只能访问子类从父类继承过来的成员,不能访问子类特有成 员

* 向下转型是为了使用子类特有方法

* 在转型中自始至终都是子类对象在做类型转换

* 多态中成员特点:

* 成员变量:编译和运行时参考引用型变量所属类中是否有调用的成员 变量,有编译通过,没有编译失败

* 非静态成员函数:

* 编译时参考的是引用型变量所属类中是否有调用的成员变量

* 运行时参考的是对象所属的类中是否有调用的函数

* 静态函数:编译和运行时参考引用型变量所属类中是否有调用的静态 方
4000
法,有编译通过,没有编译失败
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java 笔记 内部类