For investors
股价:
5.36 美元 %For investors
股价:
5.36 美元 %认真做教育 专心促就业
昆明达内培训的老师这一期给大家讲java抽象、接口和final。
抽象
一、抽象类:不知道是具体什么东西的类。abstract class类名
1.抽象类不能直接new出来。
2.抽象类可以没有抽象方法。
public abstract class USB { //抽象类
//两个抽象方法,抽象类中也可以不写抽象方法
public abstract void qidong();
public abstract void tingzhi();//抽象方法不用写{}
}
3.抽象类中,可以有抽象方法,也可以有非抽象方法。抽象类中还可以有成员变量。
4.派生类中,可以不实现某些抽象方法,但派生类必须要声明为抽象类。
public abstract class Shubiao extends USB{
public void qidong(){
System.out.println("鼠标运行");
}
//父类的tingzhi()的方法没重写,子类也要改成abstract抽象的。
}
二、抽象方法:不知道具体是干什么事情的方法。abstract返回类型函数名(形参);
1.抽象方法没有函数体。
2.有抽象方法的类必须是抽象类。
遇到抽象类,两种用法:
1.找找有没有它的派生类,用它的派生类。
2.自己写一个类,派生自这个抽象类。
package com.itnba.may.Demo1229;
public abstract class USB { //抽象类
//两个抽象方法
public abstract void qidong();
public abstract void tingzhi();
}
接口
可以理解为一种特殊的抽象类。里面只有常量和抽象方法(不需要写abstract)。
接口可以多实现(继承),抽象类只能是单位继承。
定义:
interface接口名[extends父接口列表]{
final类型常量名=值;
public void方法名(形参);
}
public interface USB { //定义一个接口
public void qidong();
public void tingzhi();
}
接口的实现:
[abstract] class类名extends父类implements接口名,接口名,....{
}
public class Shubiao implements USB{
@Override
public void qidong(){
System.out.println("鼠标运行");
}
@Override
public void tingzhi() {
System.out.println("鼠标拔出了");
}
//如果有接口的方法没重写,类要改成abstract抽象的。
}
接口定义的时候:
1.接口尽量的小,功能太复杂的。——接口分离原则。
2.接口定义的时候,接口名子,尽量是形容词,或者是描述性质的词。
final的几种修饰用法
final可以修饰成员变量,成员方法,类。
1.final修饰类:此类不能被继承。
2.final修饰成员变量:可以当常量来用。
3.final修饰方法:不能被子类的方法覆盖(重写),但可以被继承。