javaoop—笔记(第二章)

第一节:java的继承
1、继承概念:继承是类与类的一种关系
注意:
A:java中的继承是单继承只有一个父类
B:只要子类对象实例化,那么父类构造方法必定有一个要初始化,不然就报错!
2、继承的好处
A:子类拥有父类的所有属性和方法
注意:private修饰的成员和构造方法,子类无法继承。
B:实现代码的复用
3、语法规则
class 子类 extends 父类{
}
4、继承的初始化顺序
A:初始化父类再初始子类
B:先执行初始化对象中属性,再执行构造方法中的初始化。

5、访问修饰符的访问权限
private:本类
默认:本类、同包
protected:本类、同包、子类
public:本类、同包、子类、其他
——
——
第二节:方法重写
1、什么是方法的重写:
如果子类对继承父类的方法不满意,是可以重写父类继承的方法的,当调用方法时会优先调用子类的方法。

2、语法规则
A:返回值类型
B:方法名
C:参数类型及个数
都要与父类继承的方法相同,才叫方法的重写。
注意:不能缩小被重写方法的访问权限。

3.     

    方法重写   alt +/ 

    父类与子类方法同名  先执行子类方法

——
——
第三节:super关键字
1、super关键字:在对象(子类)内部使用,可以代表父类对象
例如:
A:调用父类的属性
super.age
B:调用父类的方法
super.eat()
C:调用父类的构造方法
super(参数列表)

2、super的应用(与构造方法有紧密关系)
A:子类的构造方法,会自动执行其父类的构造方法。(隐式的使用了super关键字)
也就是说,子类的构造方法,必须调用父类的构造方法

C:在子类构造方法中,如果要显示的调用父类的构造方法,必须写在子类的构造方法的第一行。
D:如果子类构造方法中既没有显式调用父类的构造方法,而父类又没有无参的构造方法,则编译出错。
E:一个构造方法中,不能同时出现this或super调用构造方法。因为this或super在构造方法中,必须是第一行。
        F: 当没有写super(有没有写都会执行)时 或者 super()括号里为空时 会默认先调用父类的无参构造方法
    
public dog(String name,int health,int love,String strain){
		//super(name,health,love);
		this.strain = strain;	
	}
         super.name 访问直接父类的name属性
        super.print()访问直接父类的print()方法
         super.(name) 访问直接父类对应的构造方法,只能出现在构造方法中

——
——
第四节:抽象类与抽象方法
1、语法定义
抽象类前使用abstract关键字修饰,则该类为抽象类

2、应用场景
A:在某些情况下,某个父类只是知道其子类应该包含怎样的方法,但无法准确知道这些子类如何实现这些方法。
(用来约束子类必须有哪些方法,并不关注子类是如何实现的)
B:从多个具有相同特征的类中抽象出一个抽象类,以这个抽象类作为子类的模板,从而避免了子类设计的随意性。
3、作用
限制规定子类必须实现某些方法,但不关注实现细节。
4、语法规则
A:abstract定义抽象类。
B:abstract定义抽象方法,只有声明,不需要实现。
C:声明了抽象方法,那这个类必须是抽象类。
D:抽象类中可以包含普通方法,也可以没有抽象方法。
E:抽象类不能直接实例化,但可以定义引用变量。
 抽象类里面可以没有抽象方法 有抽象方法必须是抽象类
注意:抽象方法没有方法体,以分号结束。abstract不能用来修饰属性和构造方法。public abstract void print();
         父类有抽象方法 子类如果不是抽象类必须重写  快捷键 在子类没有方法时在报错的地方 Ctrl + 1
——

第五节:重写和重载

重载与重写不同

重载涉及同一个类中的同名方法,要求 1.方法名相同2.参数列表不同,与返回值类型,访问修饰符无关

重写涉及的是子类和父类之间的同名方法,要求1.方法名相同2.参数列表相同3.返回值类型相同(或是其子类)4,访问修饰符不能严于父类

第六节:final修饰符
1、final关键字
使用final做标识有“最终的”含义。

2、final可以修饰类、方法、属性和变量
注意:
A:final修饰类,则该类不允许被继承
B:final修饰方法,则该方法不允许被重写
C:final修饰属性:
1、如果声明属性赋值,则该类的属性不允许在其他位置有修改值(只能赋值一次)。
2、如果声明属性不赋值,系统会报错,但可以在构造方法中赋值。
(但两者只能选其一)
D:final修饰变量,则该变量的值只能赋值一次,即变为常量。
E:final修饰引用型变量(对象)的话,则不可以再指向另一个对象。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值