5. 封装和继承
来源:互联网 发布:q版养成网络手游 编辑:程序博客网 时间:2024/06/05 20:11
一、初始化块:
二、对象的初始化过程:
- 设置实例变量的值为缺省的初始值
- 调用对象的构造器 ,绑定构造器参数。
- 如果构造器中有this()调用,则根据this()调用的参数调用相应的重载构造器,然后,转到步骤5;否则转到步骤4。
- 除java.lang.Object类外,调用父类的中的初始化块初始化父类的属性,然后调用父类构造器,如果在构造器中有super()调用,则根据super()中的参数调用父类中相应的构造器。
- 使用初始化程序和初始化块初始化成员。
- 执行构造器方法体中其他语句。
三、封装类:
这种由编译器特别支持的包装称为装箱,所以当内置数据类型被当作对象使用的时候,编译器会把内置类型装箱为包装类。相似的,
编译器也可以把一个对象拆箱为内置类型。Number类属于java.lang包。
包装类遇到内置数据类型
public class Test{
public static void main(String args[]){
Integer x = 5; // boxes int to an Integer object
//上边的的语句相当于 Integer x =
x = x + 10; // unboxes the Integer to a int
System.out.println(x);
}
}
四、static关键字 :
五、final: --声明final方法的主要目的是防止该方法的内容被修改。
Final变量能被显式地初始化并且只能初始化一次。被声明为final的对象的引用不能指向不同的对象。
但是final对象里的数据可以被改变。也就是说final对象的引用不能改变,但是里面的值可以改变。
Final修饰符通常和static修饰符一起使用来创建类常量。
六、抽象类: --abstract
- 抽象方法:类中没实现的方法,会有abstract修饰
- 抽象类:有abstract修饰的类,叫抽象类
抽象方法是一种没有任何实现的方法,该方法的的具体实现由子类提供。
抽象方法不能被声明成final和strict。
任何继承抽象类的子类必须实现父类的所有抽象方法,除非该子类也是抽象类。
如果一个类包含若干个抽象方法,那么该类必须声明为抽象类。抽象类可以不包含抽象方法。
抽象方法的声明以分号结尾,例如:public abstract sample();
七、接口: --implements,interface
八、多态:
父类引用子类对象。
animal是父类,cat和dog是子类,子类中有不一样名字的方法。则多态的体现是
Animal animal = new Cat();
animal.weizhi();
animal = new Dog();
animal.weizhi();
父类调用子类中特殊的方法是:
((Dog)animal).dongzuo();
static
Final变量:
Final变量能被显式地初始化并且只能初始化一次。被声明为final的对象的引用不能指向不同的对象。但是final对象里的数据可以被改变。也就是说final对象的引用不能改变,但是里面的值可以改变。
Final修饰符通常和static修饰符一起使用来创建类常量。
Abstract抽象类
抽象类:
抽象类不能用来实例化对象,声明抽象类的唯一目的是为了将来对该类进行扩充。
一个类不能同时被abstract和final修饰。如果一个类包含抽象方法,那么该类一定要声明为抽象类,否则将出现编译错误。
抽象类可以包含抽象方法和非抽象方法。
- 5. 封装和继承
- 属性封装和继承
- 封装和继承
- 封装和继承
- 封装和继承
- 封装和继承
- 【Java】封装和继承
- 封装和继承
- java封装和继承
- 封装和继承
- java封装和继承
- 类的继承和封装
- 继承,多态和封装
- 类的继承和封装
- 封装,继承和多态
- unity3d---属性封装和继承
- unity3d---属性封装和继承
- 封装,继承和多态
- 【第2节】Java数组(1)
- CentOS7下安装MySql5.6.26
- hdu5493Queue 树状数组+二分
- Linux的select、poll、epoll的区别
- HDU 3177 Crixalis's Equipment 贪心
- 5. 封装和继承
- 代码大全读书笔记(1)
- NYOJ-263解题报告
- java中wait和sleep的区别
- hdu 5489 Removed Interval 2015合肥网络赛 树状数组 dp 离散化/dp
- 在proteus软件80C51芯片隐藏电源接口VCC
- Block传值和传值之间的注意事项
- memory prefetch浅析
- 【UIKit-110-6】#import <UIKit/UITableView.h>外观