一篇文章带你把握Java中的抽象类和接口常识
副问题[/!--empirenews.page--]
往往行使abstract要害字修饰的类就是抽象类。 2.假设在界说Animal类,界说一个shout()要领暗示动物发出的啼声,我们知道差异动物它们的发出的声音是纷歧样的,在shout()要领不可以或许精确的描写动物发出的啼声。当在界说一个类,凡是会界说一些要领来描写这个类的举动特性,有些时辰这些要领实现的方法我们不能确定。界说抽象要领行使abstract要害字修饰譬喻以下所示: abstract void shout();//界说抽象要领 界说抽象类行使abstract要害字修饰譬喻以下所示: //界说抽象类的Animal abstract class Animal{ abstract void shout()//界说抽象要领 } 3.抽象类特点: ① 有抽象要领的类只能被界说成抽象类,但抽象类可以没有抽象要领。 ②抽象类是没有详细工具的观念类,也就是说抽象类不能实例化为工具。 ③假如一个类中含有未实现的抽象要领,那么该类就要行使abstract声明为抽象类。 ④抽象要领不行以有要领体。 4.怎样实现抽象类的要领规子 //界说Fruit类 abstract class Fruit{ //界说抽象要领info() abstract void info(); } //界说Cherry担任Fruit类 class Cherry extends Fruit{ //实现抽象要领info() void info(){ System.out.print("我是一个樱桃,重量为66g!"); } } public class p25 { public static void main(String[] args) { // TODO Auto-generated method stub Cherry c=new Cherry();//实例化Cherry工具 c.info();//挪用info()要领 } } 功效是: 我是一个樱桃,重量为66g! 从上面代码中,起首界说了一个Fruit类,在这个类中界说了抽象要领info(),然后界说Cherry类担任Fruit类,实现抽象要领info(),可以实例化Cherry工具,并挪用它的info()要领。 二、接口 1.接口内里全部的变量都是常量,全部的要领都是抽象要领。 2.在界说接口必要用interface要害字声明:譬喻: interface Fruit{ int MAX_WEIGHT = 1000; //全局常量 void printInfo(); //界说抽象要领 } 从上面的例子中,我们可以看到界说抽象要领printInfo()并没有行使abstract要害字修饰,接口界说要领的时默认行使”public abstract”来修饰,暗示抽象要领。当接口的变量是默认行使”public static final”来修饰,暗示全局常量。 3.在接口中的全部要领都是抽象要领,不行以通过实例工具来挪用接口中的要领,必要界说一个类,而且行使implements要害字实现接口全部的要领。 4.实现接口全部的要领规子 //界说Printer接口 interface Printer{ int max_line=20;//界说全局常量 void printRun();//界说抽象要领pirntRun() void printData();//界说抽象要领printData() } //Colorprinter类实现Printer接口 class Colorprinter implements Printer{ //实现printRun()要领 public void printRun(){ System.out.println("彩色打印机正在启动"); } //实现printData()要领 public void printData(){ System.out.println("彩色打印机正在打印中"); } }
public class p26 { public static void main(String[] args) { // TODO Auto-generated method stub Colorprinter c=new Colorprinter();//建设Colorprinter类的实例工具 c.printRun();//挪用Colorprinter类的printRun()要领 c.printData();//挪用Colorprinter类的printData()要领 } } 输出的功效是: 彩色打印机正在启动 彩色打印机正在打印中 (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |