java小白面向对象之继承、static、final关键字

1.概念

继承是面向对象最显著的一个特征

继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并扩展新的能力.

Java继承是会用已存在的类的定义作为基础建立新类的技术

新类的定义可以增加新的数据或者新的功能,也可以使用父类的功能,但不能选择性的继承父类(超类/基类)

这种继承使得复用以前的代码非常容易,能够大大的缩短开发的周期,降低开发费用.

2.表示

1.子类与父类是继承关系,用关键字extends来表示

2.java只支持单继承,一个子类只能有一个父类

3.子类继承父类以后,相当于把父类的功能进行了复制

4.父类的私有资源,子类不可继承

5.继承具有传递性,爷爷的功能会传给爸爸,爸爸的功能会传给孙子

6.继承是 is a 的关系,要求子类必须是父类的一种继承结构,依赖性非常强,强耦合

例如:

//创建父类animal

class Animal {

int a = 10;

private int b = 100;

public void eat() {

System.out.println("小动物吃啥都行~");

}

}

//创建animal类的子类Cat

class Cat extends Animal {

public void print() {

System.out.println(a);// 子类可以打印父类的非私有属性值a

}

}

三、方法的重写Override

1.方法的重写的意义:是想在不修改源代码的前提下,完成业务的修改。

2.方法的重写遵循OCP原则(Open Closed Principle, OCP),也就是开闭原则。面向修改关闭,面向功能拓展开放,简单来说就是只允许功能拓展,不允许修改原来的代码。

3..重写的语法要求:子类的方法签名[返回值类型&方法名&参数列表]与父类一致,子类必须有权限取重写父类的功能,父类的私有方法无法重写,子类的权限修饰符>=父类权限修饰符。

4.重写并没有修改父类原有的功能,只是子类的业务及进行了修改。

权限修饰符速查表

修饰符

同类

同包

子类

不同包

public

YES

YES

YES

YES

protected

YES

YES

YES

NO

默认

YES

YES

NO

NO

private

YES

NO

NO

NO

四、继承中的构造方法

1.构造方法不可以被继承

1.子类创建对象时,默认会访问父类的无参构造

2.在子类构造方法中的第一行,都有一条默认语句super()---调用父类的无参构造

3.当父类没有无参构造时,可以通过super调用父类的其他构造方法。子类的构造函数中必须调用父类的构造函数。

4.子类可以通过这个super关键字使用父类的内容,Super代表的是父类的一个引用对象,在构造方法里,出现的调用位置必须是第一行和this功能差不多,this指的是本类,super指的是父类。

五、final关键字

1.final表示最终,可以用来修饰类,但是被final修饰的类无法被继承 ,也就是说没有子类,它自己就是最终类

2.final可以用来修饰成员变量,被final修饰的变量值不可以被修改---常量

3.final可以用来修饰成员方法,但是被final修饰的成员方法是最终实现,子类不可以重写.

六、static关键字

1.可以通过static关键字将普通资源修饰成静态资源

2.static可以用来修饰成员变量和方法,一般写在权限修饰符之后

3.静态资源可以被类名直接调用(不通过对象)

4.静态资源是优先于对象进行加载的,随着类的加载而加载 ,比对象先记载进入内存,没对象时也可以被类名直接调用

5.静态资源全局共享并且唯一

6.静态资源只能调用静态资源

7.非静态资源既可以调用非静态资源,也可以调用静态资源

七、代码块

静态代码块

1.位置,类里方法外

2.执行时机:随着类的加载而加载,且只加载一次

3.作用:专门用来完成一些需要在第一时间加载并且只加载一次的资源。

构造代码块:

1.位置:类里方法外

2.执行时机:创建对象时立即执行,并且优先于构造方法

3.作用:创建对象时,才会触发,用来提取构造方法中的共性内容

构造方法:

1.位置:类里方法外

2.执行时机:创建对象时立即执行,让构造代码块先执行

3.作用:创建对象时调用,用来创建对象,在构造代码块之后执行

局部代码块

1.位置:方法里

2.执行时机:调用此方法时执行

3.作用:调用其所在方法时才会执行,用于控制变量的作用范围

代码块之间的执行顺序:静态代码块->构造代码块->构造方法->局部代码块

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值