黑马程序员----九-面向对象四
2016-01-26 11:23
387 查看
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
==========================================
09-01-01
==========================================
1.子类中默认的构造函数
Zi()
{
super();调用父类空参数构造函数
}
子类的实例化过程:子类中所有的构造函数默认都会访问父类中的空参数构造函数.
2.为什么要访问父类构造函数
因为子类继承父类,获取到了父类中的内容(属性),所以在使用父类内容之前,要先看父类是如何对自己的内容进行初始化的.
所以子类在构造对象时,就必须访问父类中的构造函数.所以加入super()语句.
必须先定义super语句,因为必须先初始化父类.
3.调用this()初始化,super()就没了,反正至少有一个调用super(),肯定可以对父类进行初始化.this和super都在第一行,只能存在一个.
4.没有父类的类,有一个最高类---Object
Zi调用自己的show();
5.对象实例化过程
Person p =new Person();
1JVM会读取指定的路径下的Person.class文件,并加载进内存,并会先加载Person的父类
2在堆内存中开辟空间,分配地址
3在对象空间中,对对象中的属性进行默认初始化
4调用对应的构造函数进行初始化
5在构造函数中,第一行会先调用父类重点的构造函数进行初始化
6父类初始化完毕后,在对子类的属性进行显示初始化
7再进行子类构造函数的特定初始化
8初始化完毕后,将地址值赋值给引用变量.
==========================================
09-01-04
==========================================
1.final关键字(修饰符)
1可以修饰类,方法,变量
2final修饰的类不可以被继承
3final修饰的方法不可以被覆盖
4final修饰的变量是一个常量,只能赋值一次,常量要大写.
==========================================
09-01-05
==========================================
1.抽象特点
1方法只有声明没有实现时,用抽象方法.抽象方法必须定义在抽象类中,该类必须也被abstract修饰
2抽象类不可以被实例化,为什么?因为调用抽象方法没有意义,方法没有方法体.
3抽象类必须由其子类覆盖了所有抽象方法后,该子类才可以实例化,否则这个子类还是抽象类.
2.细节
1抽象类有构造函数吗?
有,用于给子类对象进行初始化
2抽象类可以不定义抽象方法吗
可以,但是很少见,目的就是不让该类创建对象,AWT的适配器对象就是这种类.通常这个类中的方法有方法体,但是却没有内容.
3抽象关键字不可以和哪些关键字共存
private不行,因为抽象方法必须被覆盖
static不行,因为变静态就不用创建对象
final不行,final不能覆盖了
4抽象类和一般类的异同点
5抽象类一定是个父类,因为需要子类覆盖抽象方法后才可以使用
==========================================
09-01-09
==========================================
1.当一个抽象类中的方法都是抽象的时候,这时该类可以用interface表示.
2.对于接口当中常见的成员:而且这些成员都有固定的修饰符
1全局常量: public static final
2抽象方法: public abstract
所以接口中的成员都是公共的权限.
3.类与类之间是继承关系,类与接口之间是实现关系class (imp)Zi implements (interface)Fu
4.java将多继承机制进行改良,在java中变成了多实现,一个类可以实现多个接口.
接口与接口之间是继承关系
5.接口和抽象类的区别
相同点:
1都是不断向上抽取而来的
不同点:
1抽象类需要被继承,接口需要被实现.
2抽象类中可以定义抽象方法和非抽象方法,子类继承后,可以直接使用非抽象方法.
接口中只能定义抽象方法,必须由子类去实现.
==========================================
09-01-01
==========================================
1.子类中默认的构造函数
Zi()
{
super();调用父类空参数构造函数
}
子类的实例化过程:子类中所有的构造函数默认都会访问父类中的空参数构造函数.
2.为什么要访问父类构造函数
因为子类继承父类,获取到了父类中的内容(属性),所以在使用父类内容之前,要先看父类是如何对自己的内容进行初始化的.
所以子类在构造对象时,就必须访问父类中的构造函数.所以加入super()语句.
必须先定义super语句,因为必须先初始化父类.
3.调用this()初始化,super()就没了,反正至少有一个调用super(),肯定可以对父类进行初始化.this和super都在第一行,只能存在一个.
4.没有父类的类,有一个最高类---Object
Zi调用自己的show();
5.对象实例化过程
Person p =new Person();
1JVM会读取指定的路径下的Person.class文件,并加载进内存,并会先加载Person的父类
2在堆内存中开辟空间,分配地址
3在对象空间中,对对象中的属性进行默认初始化
4调用对应的构造函数进行初始化
5在构造函数中,第一行会先调用父类重点的构造函数进行初始化
6父类初始化完毕后,在对子类的属性进行显示初始化
7再进行子类构造函数的特定初始化
8初始化完毕后,将地址值赋值给引用变量.
==========================================
09-01-04
==========================================
1.final关键字(修饰符)
1可以修饰类,方法,变量
2final修饰的类不可以被继承
3final修饰的方法不可以被覆盖
4final修饰的变量是一个常量,只能赋值一次,常量要大写.
==========================================
09-01-05
==========================================
1.抽象特点
1方法只有声明没有实现时,用抽象方法.抽象方法必须定义在抽象类中,该类必须也被abstract修饰
2抽象类不可以被实例化,为什么?因为调用抽象方法没有意义,方法没有方法体.
3抽象类必须由其子类覆盖了所有抽象方法后,该子类才可以实例化,否则这个子类还是抽象类.
2.细节
1抽象类有构造函数吗?
有,用于给子类对象进行初始化
2抽象类可以不定义抽象方法吗
可以,但是很少见,目的就是不让该类创建对象,AWT的适配器对象就是这种类.通常这个类中的方法有方法体,但是却没有内容.
3抽象关键字不可以和哪些关键字共存
private不行,因为抽象方法必须被覆盖
static不行,因为变静态就不用创建对象
final不行,final不能覆盖了
4抽象类和一般类的异同点
5抽象类一定是个父类,因为需要子类覆盖抽象方法后才可以使用
==========================================
09-01-09
==========================================
1.当一个抽象类中的方法都是抽象的时候,这时该类可以用interface表示.
2.对于接口当中常见的成员:而且这些成员都有固定的修饰符
1全局常量: public static final
2抽象方法: public abstract
所以接口中的成员都是公共的权限.
3.类与类之间是继承关系,类与接口之间是实现关系class (imp)Zi implements (interface)Fu
4.java将多继承机制进行改良,在java中变成了多实现,一个类可以实现多个接口.
接口与接口之间是继承关系
5.接口和抽象类的区别
相同点:
1都是不断向上抽取而来的
不同点:
1抽象类需要被继承,接口需要被实现.
2抽象类中可以定义抽象方法和非抽象方法,子类继承后,可以直接使用非抽象方法.
接口中只能定义抽象方法,必须由子类去实现.
相关文章推荐
- 黑马程序员----八-面向对象三
- 黑马程序员----五-数组
- 黑马程序员----四-语句函数数组
- 自学中遇到问题怎么办
- 黑马程序员 protocol协议基本知识
- 面试小结
- 【转】程序员为什么跳槽
- 黑马程序员 贪心法则的应用及简单理解
- 黑马程序员 一位数组的基本知识总结
- 技术人员的疆域
- 黑马程序员 NSlog和printf的区别
- 黑马程序员 OC中的block的基础理解
- java事务的类型——面试被问到
- 在开源“集市”工作时如何建立一个职业网络
- 怎样实现由专有环境向开源环境的职业转变
- 一次神秘而有趣的面试,让我进了 Google!
- 转:迅雷亲历面经:笔试+上机+面试(完整JAVA面试题求解大讨论)
- 一个PHP程序员应该掌握的10项技能!
- 一个PHP程序员应该掌握的10项技能!
- 书评-程序员修炼之道-从小工到专家