2021-06-15

继承:
继承就是保持已有类的特性而构造新类的过程。继承后,子类能够利用父类中定义的变量和方法,就像它们属于子类本身一样。

单继承:在类层次中,子类只继承一个父类的数据结构和方法,一个类只有一个父类

多继承:在类层次中,子类继承了多个父类的数据结构和方法,一个类允许有多个继承
示例


public class Book {
//定义三个同名方法
	
	public float getPrice() {
		return 100;
	}
	
	public float getPrice(int page) {
		//根据图书页数计算该价格
		return (float)(page*0.1);
	}
	public float getPrice(int page,float discount) {
		return (float) (page*discount);
	}
	public static void main(String[] args) {
		// TODO Auto-generated method stub
Book book=new Book();//创建Book对象
System.out.println("默认图书价格:"+book.getPrice()+"元");
System.out.println("根据页数计算图书价格:"+book.getPrice(268)+"元");
System.out.println("根据页数和折扣计算图书价格:"+book.getPrice(360,0.02f)+"元");
	}
 
}

重写

子类扩展了父类,子类是一个特殊的父类。子类以父类为基础,额外增加新的属性和方法。

但有一种情况除外:子类需要重写父类的方法。例如,鸟类都包含的飞翔方法,其中鸵鸟是一种特殊的鸟类,因此鸵鸟是鸟的子类,因此它也将从鸟类获得飞翔方法,但飞翔方法明显不适合鸵鸟。所以鸵鸟需要重写鸟类的方法。方法重写具体见示例 3.5
示例


//创建父类Bird
public class Bird{
//Bird 类的fly()方法
public void fly(){
System.out.println("我在蓝天白云间自由的飞翔.....");
}
}

创建子类Ostrich
示例


package com.java.oriented.dota.scane;
 
public class Ostrich  extends Bird {
public void fly() {
	System.out.println("我只能在陆地上拍拍翅膀奔跑...");
}
//捕食方法
public void prey() {
	//在捕食中调用fly()方法
	fly();
	System.out.println("执行捕食方法");
}
	public static void main(String[] args) {
		// TODO Auto-generated method stub
//创建Ostrich对象
		Ostrich ostrich=new Ostrich();
		ostrich.prey();//调用ostrich对象的prey()方法
	}
 }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值