1.抽象类
a.抽象类的概念:只包含一个抽象方法的类就是抽象类。
b.抽象方法:只声明而未实现的方法就是抽象方法。
c.抽象类和抽象方法都必须用abstract来声明。
d.抽象类必须被子类继承。
代码实例演示:
AskForLeave类
/** * Created by Pres_cheng on 2016/8/29. * 请假条抽象类 */ public abstract class AskForLeave { private String name; private String date; private String reason; public AskForLeave(String name,String date,String reason){ this.name = name; this.date = date; this.reason = reason; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getDate() { return date; } public void setDate(String date) { this.date = date; } public String getReason() { return reason; } public void setReason(String reason) { this.reason = reason; } public abstract String getContent(); }
Student类
/** * Created by Pres_cheng on 2016/8/29. * 学生类 */ public class Student extends AskForLeave { private String theClass; public Student(String name, String date, String reason,String theClass) { super(name, date, reason); this.theClass = theClass; } @Override public String getContent() { return " 我是"+getName()+"我因"+getReason()+"不能上课,特此请假 日期:" + getDate(); } }
Main类
/** * Created by Pres_cheng on 2016/8/29. */ public class Main { public static void main(String []args){ Student student =new Student("pres_cheng","2016-8-29","生病","计科13-2班"); System.out.println(student.getContent()); } }
2.接口
a.接口可以理解为一种特殊的类,里面全部都是由全局常量和公共抽象方法所组成。
b.接口必须有子类,并且子类要继承所有抽象方法。
c.一个子类可以实现多个接口,但只能继承一个抽象类。
d.一个接口可以继承多个接口。
e.一个子类可以继承抽象类同时实现接口。
代码实例演示:
Computer类
public class Computer { public static void plugin(USB usb){ System.out.println("usb开始工作"); usb.start(); usb.end(); } }
USB接口
public interface USB { //设备开始工作 public abstract void start(); //设备结束工作,接口中方法默认为抽象方法,所以可省略public abstract void end(); }
UDisk接口
public class UDisk implements USB { @Override public void start() { System.out.println("U盘开始工作"); } @Override public void end() { System.out.println("U盘结束工作"); } }
Print接口
public class Print implements USB { @Override public void start() { System.out.println("打印机开始工作"); } @Override public void end() { System.out.println("打印机结束工作"); } }
Main类
public class Main { public static void main(String[] args) { UDisk uDisk = new UDisk(); Print print = new Print(); Computer computer = new Computer(); computer.plugin(uDisk); computer.plugin(print); } }