面向对象 第三章

第3章 继承与多态


(1)使用其他包中的类是需要import导入包

import pakegeName.clssName;

(2)访问修饰符

public:公共的,任何包下的内容都可以访问
	缺省:默认只能被当前包访问
	private:只被当前类访问
	protected:只能当前包和不同包的子类访问

2.继承
(1)继承语法

[修饰符] class 子类名 [extends 父类名]{
	//类成员
}

(2)子类会继承父类所有非私有成员

(3)一个子类只能有一个父类

3.重载和重写

(1)重载:方法名相同,参数列表必须不同,返回值必须相同

(2)重写,子类重写父类中的方法,方法头部必须相同。重写后父类方法会被覆盖,使用super可以调用被子类重写覆盖的方法

4.多态

(1)同一操作用于不同的对象会产生不同的结果

(2)通过父类的引用指向子类的对象,调用子类中重写父类的方法

(3)instanceof运算符,用来判断对象是不是该类的对象或该类子类的对象。也可以判断这个对象是否可以进行强制类型转换。

知识要点

继承的定义和使用:继承是面向对象程序设计的一个重要特征,它是通过继承原有类派生出子类,进而构造更为复杂的子类,子类既有新定义的行为特征,又继承了原有类的行为特征。
继承的定义与使用

注意事项

圣剑类和长矛类都拥有相同的属性,可以抽离出一个父类,将相同属性定义在父类中,子类继承拥有。
继承的特性
子类继承父类后,可以拥有父类中定义的公共方法。

package com.test;

public class Weapon {
	String name;
	int attackValue;
	public Weapon(String name,int attackValue) {
		this.name=name;
		this.attackValue=attackValue;
	}
	public void attck() {
		System.out.println("武器名:"+this.name+"\t攻击值:"+this.attackValue);
	}
}
package com.test;

public class Sword extends Weapon{

public Sword(String name,int attackValue) {
	super(name, attackValue);
}

}
package com.test;

public class Spear extends Weapon{
	
	public Spear(String name,int attackValue) {
		super(name, attackValue);
	}
	
}
package com.test1;

import com.test.Spear;
import com.test.Sword;

public class MyTest2 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
        Sword sw=new Sword("圣剑", 200);
        sw.attck();
        Spear sp=new Spear("长矛", 300);
        sw.attck();
        		
	}
	}

在这里插入图片描述
继承的实现

创建vehicles类,代码如下:

public class vehicles {
    public String brand;
    public String color;
    public vehicles(String name,String color){
    	this.brand=name;
    	this.color=color;
    }
    public void showinfo() {
    	System.out.println("品牌:"+brand+"\t"+"颜色:"+this.color);
    }
    public void run() {
    	System.out.println("我"+this.brand+"正在行驶");
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值