抽象函数、抽象类

抽象函数:只有函数定义,没有函数体
某类有一个以上抽象函数,则该类必须被定义为抽象类
抽象类不能生成对象(天生就是当爹的)
一个类无抽象函数,该类也可被声明为抽象类( 不希望生成该类的对象)
抽象类称之基类
------/Person.java
abstract class Person {
	Person(){
		System.out.println("Person的构造函数");
	}
	abstract void eat();
}
------/Student.java
class Student extends Person{
	Student(){	//默认会在此处添加super();
		System.out.println("student的构造函数");
	}
	void eat(){		//该eat覆盖父类eat
		System.out.println("eat");
	}
}
------/Test.java
public class Test {
	public static void main(String[] args){
		Person person=new Student();
		person.eat();
	}
}
结果:
Person的构造函数
student的构造函数
eat
------------/
abstract class Person{
	String name;
	Person(String name){
		this.name=name;
	}
}

class Student extends Person{
	String addr;
	Student(){	//error
		this.addr="ncut";	
	}
}
// 若无super调用父类构造函数,则编译器默认添加super(),但父类super()含参,故报错
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值