编辑器我选择的是Notepad++,学习视频:毕向东Java基础教程
//继承,抽象和接口的运用
abstract class Teacher
{
String name;
int age;
double pay;
abstract void work(); //只进行函数声明,不进行函数实现
Teacher(String name,int age,double pay) //给子类对象初始化
{
this.name=name;
this.age=age;
this.pay=pay;
}
}
interface Phone //接口中所有的方法都是抽象方法,所有的变量都是全局常量
{
public static final int phoneNum=1008610010;
public abstract void call(); //打电话
}
class English extends Teacher implements Phone
{
English(String name,int age,double pay)
{
super(name,age,pay);
}
public void work() //在子类中实现抽象方法
{
System.out.println("我的工作是教英语");
}
public void call() //在子类中实现接口方法
{
System.out.println("我的电话号码是: "+phoneNum); //实现了接口,可以调用接口的内容
}
}
class ExtendsDemo
{
public static void main(String[] args)
{
English e=new English("Tom",24,8000);
System.out.println("我的名字:"+e.name+";年龄: "+e.age+";工资:"+e.pay);
e.work();
e.call();
}
}
主要关注的点在于:在抽象类中可以定义构造函数,用于给子类对象初始化