JAVA_SE基础知识——继承

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/weixin_43841301/article/details/101051780

1、继承

继承:将重复代码抽取到父类中就为继承
优点:方便修改代码,减少代码量

2、如何使用继承

a、编写父类
	class Pet{ 公共的属性和方法 }
b、编写子类,继承父类
	class Dog extends Pet{ 子类特有的属性和方法 }

关键字:extends   继承
	super	代表父类对象

一个子类只能继承一个父类

3、子类访问父类成员

a、访问构造方法:super();super(name);
使用super关键字。在子类构造方法中调用且必须是第一句
b、访问父类属性:super.name;
c、访问父类方法:super.print();

super只能出现在子类的方法和构造方法中,super不能访问父类的private成员

4、子类不是可以继承父类的所有资源

不能被继承的父类成员:a、private成员;
		     b、子类与父类不在同包,使用默认访问权限的成员
		     c、构造方法


可以被继承的包括:除了上述的三种都可以

5、protected 访问修饰符

可以修饰属性和方法,在本类、同包 、子类可以访问

系统默认的修饰符是friendly,在本类和同包中有效
从严到宽松的顺序:private--friendly--protected--public

6、多重继承关系的初始化顺序

父类的属性-->父类的构造方法-->子类的属性-->子类的构造方法

7、何时使用继承

    符合 is-a关系的设计使用继承,假设有两个类A、B,他们符合A是B的一种或者B是A的一
	种,就可以考虑使用继承。
      
   继承是代码重用的一种方式,将子类的共有属性和行为放到父类中

8、继承关系

继承关系中,找不到父类的带参构造方法,默认执行父类的无参构造方法
继承父类的构造方法要用super

9、方法的重写与方法的重载:

重载(Overlode):方法名相同、参数不同、与访问修饰控制符和返回值无关  在同类中
重写(Override):方法名相同、参数相同、与访问修饰控制符和返回值有关  子类重写父类的方法
(返回值必须和父类相同或父类的子类、子类的访问修饰控制符与父类相同或者权限比父类宽松)

10、abstract

 抽象类 限制实例化
 可以修饰类和方法,不能修饰属性。修饰方法时,称为抽象方法,没有方法体分号结尾,抽象方法
 必须在抽象类里面,抽象方法必须在子类中被实现,除非子类是抽象类。修饰类时,类就不能被实例化。
	
为什么用抽象代码?每个子类的要求方法不同,父类只定义方法,不定义方法体,子类对方法重写	

11、final

修饰类:最终版的类,不能被其他类继承
修饰属性:变成常量,不会被修改
修饰方法	:最终版的方法,不被重写	

12、条件运算符

三目运算符: 关系表达式1?表达式2:表达式3
	(a>b)?a+b:a-b	a>b为真执行a+b;a>b为假执行a-b。

猜你喜欢

转载自blog.csdn.net/weixin_43841301/article/details/101051780