继承和访问权限
写给自己的话
- 如果一张纸可以折叠27次,就可以达到珠峰的高度
- 如果自己每天努力1.1倍,8天可以达到第一天的2被,28天可以达到第一天的10倍,相信自己的努力
- 代码证明
public static void main(String[] args) { double i = 1; int sum = 0; while(i<2){ i *= 1.1; sum++; } System.out.println(sum); }
继承
继承的由来:
- 如果多个类中存在相同的属性和行为,就把多个类中相同的属性和行为抽取到单个类中,然后让多个类继承单个类即可。多个类我们把它称为子类(派生类),单个类我们称之为父类(基类,超类)。
继承的好处:
- 提高代码的复用性和可维护性。
继承中成员变量访问特点:
-
变量:局部找–>本类成员位置找–>父类成员位置找(访问本类用this. 访问父类用super. )
-
方法:本类成员位置找–>父类的成员位置
-
构造方法:
-
a.所有的构造方法第一行都有默认的super(),
-
b.如果父类没有无参的构造方法(有有参的构造方法),则会报 错。解决办法:手动调用父类的有参构造方法或给父类添加无参 构造方法
-
c.调用super的目的是给父类的成员变量赋值。
重写:override
- 子父类中,声明了一模一样的方法(只有方法体不同);需要对父类功能升级的时候使用
重载:overload
- 在同一个类或子父类中,方法名相同,参数列表不同的方法。
继承的注意事项:
- 只继承单继承,支持多层继承。
包 package
-
用户声明当前类在那个包下
-
命名规范:用. 切割单词,一般情况是域名的倒写
-
导入:表示将其他类信息导入到当前类中,
权限修饰符
-
private:本类
-
默认:本类和同一包中的其他类
-
protected:本类,同一包的其他类和其他包的类继承
-
publlic:随便访问
-
final关键字:
被final修饰的特点:
-
类:不能被继承。
-
变量:变成了常量,只能赋值一次
-
非静态变量的赋值:直接显示赋值 和 通过构造方法赋值。
-
基本数据类型的值不能变 ,引用类型的地址值不能变,但是对象里的内容可 以变
- 方法:不能被重写
static关键字
特点:
1.被static修饰的内容,会被类的所有对象共享
2.建议通过类名调用
3.随着类的加载而加载,所以优先于对象的存在
4.静态只能调用静态
作业:
1.继承的由来
2.继承中成员内容的访问特点(构造方法,成员变量,成员方法)
3.继承的注意事项
4.重写
5.重载
6.说说final关键字(变量赋值和变量的类型(基本引用))
7.说说static关键字(4点 :先后,共享和2个调用)