标签:java 接口 抽象类
一个简单的抽象类:
父类的一些方法不确定时,可以用abstract关键字修饰该方法【抽象方法】,用abstract来修饰该类【抽象类。
public class demo{ public static void main(String[] args){ } } //这就是一个抽象类 abstract class Animal{ String name; int age; public void cry(); //抽象方法绝对不能实现,看下一句 //public void cry() {}; //error } //当一个类继承的父类是抽象类的话,子类中需要把抽象类中的所有抽象 //方法全部实现 class Cat extends Animal{ //实现父类的cry public void cry() { //do nothing ... System.out.println("..."); } } 注意: 1.用abstract 关键字来修饰一个类时,这个类就叫抽象类 2.用abstract 关键字修饰的一个方法时,这个方法就是抽象方法。 3.抽象类不能被实例化 Animal an = new Animal(); //error 4.抽象类不一定包含abstract方法 5.一旦一个类包含了一个abstract方法,则这个类必须声明为abstract 6.抽象方法不能有主体(也就是{}); 7.抽象类中可以有实现了得方法;如果方法有abstract修饰,则不可以实现.
接口的概念:
接口:给出一些没有内容的方法,封装到一起,到某个类要使用的时候,再根据具体情况把这些方法写出来。 语法:
class 类名 implements 接口{
方法;
变量;
}
小结:接口是更加抽象的类,抽象类里的方法可以有方法体,接口里的所有方法都没有方法体。接口体现了程序设计的多态和高内聚低耦合的设计思想。
public class Test{ public static void main(String[] args){ } } //USB接口 interface Usb{ public void start(); public void stop(); } //编写照相机类,并实现Usb接口 //一个重要的原则:当一个类实现了一个接口,要求该类把则这个接口 //的所有方法实现。 class Camera implements Usb{ public void start(){ System.out.println("我是相机,开始工作了"); } public void stop(){ System.out.println("我是相机,停止工作了"); } } class Phone implements Usb{ public void start(){ System.out.println("我是手机,开始工作了"); } public void stop(){ System.out.println("我是手机,停止工作了"); } } class Computer{ public void useUsb(Usb usb){ //开始使用Usb usb.start(); usb.stop(); } } public class Test(){ public static void main(String[] args){ Computer computer=new Computer(); Camera camera1 = new Camera(); Phone phone1 = new Phone(); computer.useUsb(camera1); computer.useUsb(phone1); } }
a. 接口中的变量,本质上是static的,而且是final;
interface Aaa{ public void Eee(); } interface Kkk extends Aaa{ }
标签:java 接口 抽象类
原文地址:http://zhouxinzhe.blog.51cto.com/9031522/1692576