Java基础之继承

什么是继承?

多个类存在相同的属性和行为时,将这些内容抽取到单独的一个类中,那么多个类无需再定义这些属性和行为,只需要继承那个类即可。

注释:多个类称为子类,一个类称为父类、超类和基类。

 

继承语法

class 子类名 extends 父类名{

       ……

}

 

继承的特点

1.Java只支持单继承,不支持多继承(一个类只能有一个父类,不可能有多个父类)

 

2.Java支持多层继承(继承体系),即继承有传递性,子类还可以有子类

3.一切类的祖先——java.lang.Object,所有类都直接或者间接地继承了java.lang.Object

 

4.继承是子类继承父类的所有东西,除了构造函数

继承条件下类的访问权限

子类自动拥有父类申明的public和protected的成员,这是继承特性的体现之一。

private:属性和方法不能被子类直接使用,能被子类继承,无法被使用;但是将private属性包装到public方法中,则能被子类使用

public:可以被子类直接使用

protected:同一包中的子类可以使用,另一包中的子类也可以使用

default:如果不知名任何权限,则默认同一包中的类可以访问

不允许继承的类

final class 类名{

 

}

  1. 以final声明的方法不允许覆盖
  2. 以final声明的变量不允许更改
  3. 利用final可以设计出一种特殊的“只读”的“不可变类”

 

用处:可以方便和安全地用于多线程环境中;

         访问它们可以不用加锁,因为能提供较高的性能;

 

this和super

this:当前对象的引用

  1. 本类在非静态方法中使用非静态变量和非静态方法,可以使用【this.变量名】和【this.方法名(参数列表)】的方式调用,实际情况是,this关键字通常被省略
  2. 在上面的情况下,包含一个特殊情况,假如方法中定义了一个与类成员变量同名的局部变量,这时在方法内部调用类的成员变量就必须使用this关键字来引用

 

super:父类对象的引用

  1. 子类重写父类方法之后,再次调用父类的该方法,必须使用【super.方法名(参数列表)】调用
  2. 子类的构造方法中默认存在父类的无参构造方法,也可显示声明其他的构造方法,声明必须使用【super(列表参数)】
  3. 在构造方法中,super与this关键字不能同时出现,且位于构造方法首行
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值