抽象类与接口学习时遇到的问题

抽象一个Person类

package day02;

public abstract class Person {
private String name;
private String ID;

Person(String name,String ID){
this.name=name;
this.ID=ID;
}

abstract void speak();

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public String getID() {
return ID;
}

public void setID(String iD) {
ID = iD;
}

}
-----------------------------------------
另一个类继承并重写Person类的方法

package day02;

public class PersonImp extends Person {

PersonImp(String name, String ID) {
super(name, ID);
}

@Override

void speak() {


}

}
-----------------------------------------
将继承Person类的子类方法,实例化,并调用

package day02;

public class TestPerson {

public static void main(String[] args) {
PersonImp test = new PersonImp("张三","zs");
String name =test.getName();
String ID=test.getID();
System.out.println(name+"\t"+ID);

}

}
----------------------------------------------
而直接使用接口来写,只能写抽象方法,属性name,ID  必须初始化,所以注意区分   接口与抽象类的作用

package day03;

public interface Person {
//The blank final field ID may not have been initialized
//未初始化空白的最终字段ID
String name;
//The blank final field ID may not have been initialized
//未初始化空白的最终字段ID
String ID;

}

转载于:https://www.cnblogs.com/liyunchuan/p/10659543.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值