Polymorphism、Abstract Class、Extends,面向对象特性与面向对象的高级知识部分

package cn.csdn.abstracts;

//这个类用来测试抽象类的用法及其特点
public class Test3_Abstract {
	public static void main(String[] args) {
		//创建子类对象,测试使用类
		//The value of the local variable a/a2/a3 is not used
		Advance a = new Advance();
		a.eat();
		a.sleep();
		
//		//创建父类对象测试,普通父类
//		Advances a2 = new Advances();
//		a2.eat();
//		a2.sleep();
		
		//创建多态对象测试
		//编译看左边,执行看右边:调用父类里的成员,执行子类里经过覆写的方法体
		//创建父类对象,通过实例化子类对象的向上转型,抽象类/特殊类
		Advances a3 = new Advance();
		a3.eat();
		a3.sleep();
		
		/**Advance.eat();
		  
		   Cannot make a static reference to the non-static method eat() from the type Advance
		        从这句话你能看出来什么,普通类,或者只要它是一个类,那以这个类调用的方式,是静态的。或者类本身,不管它是什么类,是静态的。
           static修饰,随类的加载而加载而存在,然而,非static修饰,需先通过创建实例化对象,才能分配到内存空间,才能存在,才能被
                     实质性地以这个内存空间(其地址值)进行调用。*/
	}
}

//把共性功能向上提取,形成父类
abstract class Ad
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值