Java基础_继承

1.继承(extends)

子类继承父类

public class 子类名 extend 父类

Java不允许多继承(只能有一个父类),但可以多继承

2.继承作用

 (1)解决了代码重复

 (2)表示一个体系(树)

package HelloWorld;
class Bird{
	public void fly() {
		System.out.println("飞");
	}	
}
class Penguin extends Bird{
	
}
public class SuperDome {
	public static void main(String[] args) {
		Penguin p=new Penguin();
		p.fly();
	}
}

3.子类继承父类那些成员是用修饰符决定

(1)public 都可以访问

(2)protected:子类可以访问,即使父类和子类不在同一个包下

(3)如果在同一个包下可以继承缺省的字符(无修饰符)

(4)private:继承不到,因为private只能在同一个类下访问

(5)父类的构造器不能被继承,因为构造器必须与类名相同

4.方法覆盖(Override)

package HelloWorld;
class Bird{
	public void fly() {
		System.out.println("飞");
	}	
}
class Penguin extends Bird{
	public void fly() {
		System.out.println("不会飞");
	}
}
public class SuperDome {
	public static void main(String[] args) {
		Penguin p=new Penguin();
		p.fly();
	}
}

一同

(1)实参方法签名必须相同(方法签名=方法名+参数列表)

(2)子类方法的返回类型与父类的返回方法相同

(3)子类抛出异常小于父类的异常或者等于

         子类可以声明抛出多个属于父类的异常的子类(RuntimeException异常除外)

(4)子类的访问权限比父类更大或者相等

Java5之后注解@override 用来表示重写覆盖

方法存在覆盖,字段不存在覆盖

5.方法覆盖:当父类的子类不符合子类的具体要求,此时需要重新定义父类方法重写方法体

6.方法重载与方法覆盖的区别

方法重写(Override):解决子类继承父类,可能父类的方法不满足的子类的要求、此时需要在子类中重写。

方法重载(Overlord):解决功能相同,方法名不同,参数不同的问题(两同一不同)

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值