面向对象(五) 附录

多态

一种类型,多种形态,对象在创建时是父类形态,在使用时是子类形态。
多态在程序设计中,为程序提供了 [可插拔性]

向上转型:子类赋值给父类。自动类型转换。
向下转型:父类强制转换成子类,需要加子类类型符号。

多态:形成的必要因素:
1:必须有继承关系。
2:子类中需有方法的重写。
关键词:instanceof : 是否包含子类对象。

演示

/**

  • 多态的演示。
  • @author hadoop

*/
public class Test {

public static void main(String[] args) {
	// 初始化对象
    Penguin penguin = new Penguin("qq",2,85,50,"雌");
	
	Dog dog = new Dog("大黄",3,75,85,"黄色");
	
	
	// 多态 一种类型,多种形态。
	Pet pet = new Penguin("qq",2,85,50,"雌");// 你记得,子类赋值给父类。自动类型转换。向上转型。
	    pet = new Dog("大黄",3,75,85,"黄色");  // 你记得,子类赋值给父类。自动类型转换。向上转型。
	    
	    pet.eat();// 多态的父类,拥有子类的多种形态,子类重写父类的方法。父类对象在调用方法时,运行子类的方法。
	    
	    
	if(pet instanceof Penguin){
		Penguin pen = (Penguin)pet;// 你记得,父类强制转换成子类,需要加子类类型符号,向下转型。
		pen.eat();
	}else if(pet instanceof Dog){
		Dog dog2 = (Dog)pet;
		dog2.eat();
	}

	
	
}

}

附录

java中的访问修饰符

访问修饰符	                              本类	本包其他类(子类)	其他包  	其他包子类public (公共的)	                          √	              √	                   √	              √private(私有的)	                         √	                  ×	                    ×	              ×default(缺省的,默认的)	             √	                  √	                    ×	              ×protected(受保护的)	                √	                 √	                        ×	              √

import:调用其他包的类。
public:可以访问所有的包和类(在同一个项目里)。
private:私有的,只能在本类中使用
default:默认的,不用写 能在本类中访问
protect:保护不相关的类使用这些变量和方法,子类能访问protect所保护的变量和方法。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值