详谈面向对象中的继承

1.什么是继承?

继承是面向对象最显著的一个特性。继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力

2.为什么要继承?

在我们编程的时候,往往有很多的代码需要我们重复的去编写,那么有没有什么方法可以让我们省去重复编写相同代码呢?这就要运用到继承,继承已存在的类就是复用这些类的方法,而且可以增加一些新的方法和字段,使新类能够适应新的情况。

3.继承的优点

1、子类拥有父类非 private的属性、方法。
2、子类可以拥有自己的属性和方法,即子类可以对父类进行扩展。
3、子类可以用自己的方式实现父类的方法。

4.继承的缺点

继承只能单继承,一个子类只能有一个父类,但是一个父类可以有很多子类。因为继承了父类的东西,会导致耦合度很高。

5.继承的语法

表示:   关键字  extends     

//  aaa是子类,继承父类bbb
public class aaa extends bbb(){

}

6.注意!!!

1.一个子类只能有一个父类,只能单继承关系

2.子类将继承父类的成员变量和成员方法

3.构造方法不能被继承。

7.不可以被继承的

1.同包中的private修饰的内容不可以被继承!!!

2.构造方法不可以被继承!!!

3. 不同包中的缺省修饰内容不可被继承!!!

在上面,我们提到了被private修饰的内容不可以被继承,那private是什么呢?private是访问修饰符,用于限制类、方法和变量的访问范围。

8.四种访问修饰符

1、private修饰符

private表示私有的。既然是私有的,那么就只能在自己所属的类中使用了,private也是Java中四种访问修饰符中,访问权限最小的。

2、default修饰符

Java中默认修饰符,只能被本类或者同一个包中的其他类访问到。

3、protected修饰符

protected修饰符表示受保护的。protected修饰符可以被本类、同一个包中的类、不同包中的子类所访问到。

4、public修饰符

public修饰符表示公开的,公共的。既然是公开的、公共的,所有的类都可以访问到的了。

在Java中,一个java文件中,可以定义多个类,但是被public修饰的类只能有一个,并且被public修饰的类的类名称必须和java文件名称相同。

在接口中,默认的访问修饰符是public。

9.关键字super

子类和父类中可能会存在相同名称的成员,使用super可以在子类方法中访问父类的属性、方法、构造方法。

注意点:

1.在构造方法中使用super的时候必须放在第一行

2.调用父类中相应的构造方法,若不显示的写出来,默认调用父类的无参构造方法

super的使用

super可以调用父类的属性、方法、构造方法     

 super.属性       super.方法名()         super()

举个继承并且运用super的例子:

public class Animal{
    protected String name;
	public void run(){
	  System.out.println("有动物在跑!");

   }
}

class Bird extends Animal{      // Bird子类继承Animal父类
	
	public void print(){
		super.run();	     //调用父类的方法;
		System.out.println(super.name +"我是一只鸟,");
	}
	//重写父类的方法:
	public void run(){
		System.out.println("正在天上飞!");
	}
	
}

10.构造方法的执行顺序:

如果我们没有在子类构造方法中显示的调用指定的父类构造方法,则默认调用父类无参构造方法,如果我们明确调用了父类的构造方法,则按照我们写的去执行

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值