版权声明:转载原创文章请以超链接形式请注明原文章出处,尊重作者,尊重原创!
恰饭广告
接口:接口是抽象方法的集合。接口通常以interface来声明。
接口注意事项:
1、严格来说,接口是用来实现(implements),而不是继承(extends)。
2、接口对象不能直接使用关键字new进行实例化,可以利用子类对象的向上转型进行实例化。
3、接口必须要有子类,子类可以实现(implements)多个接口,而且一个接口也能继承另一个接口。
4、接口的成员只能是常量,不能是变量。如String name;(变量)。String name=bing;(常量)。
5、接口的成员和方法一般都是对外开放的(public) ,【private 、protected 、abstract】不能去修饰接口的常量。【protected、private、static、final】不能去修饰接口的方法。
6、定义接口方法和常量的时候就算没有写上public,那么最终的访问权限也是public,而不是default。
7、为了节省打字时间,接口的方法默认都是public abstract修饰。
接口的示例代码:
public interface OneInterface { //接口1
public static final String oneName = "小明";//全局常量
public abstract void msgOne();//公共抽象方法,无return
}
interface TwoInterface{ //接口2
public static final String twoName = "小红";//全局常量
public abstract String msgTwo();//公共抽象方法,有return
}
要去实现接口的子类:
public class Test implements OneInterface,TwoInterface{ //多接口实现
@Override
public void msgOne() { //子类去实现接口1的方法
System.out.println(oneName);
}
@Override
public String msgTwo() { //子类去实现接口2的方法
System.out.println(twoName);
return twoName;
}
public static void main(String[] args){
Test t=new Test(); //子类实例对象
t.msgOne(); //对象调用方法
t.msgTwo();
}
}
接口的作用:(不是三言两语就能说清楚的)
1、解决了java的单一继承(extends)。
抽象类:abstract修饰的类。
抽象类注意事项:
1、abstract 可以修饰类或方法,但不可以修饰成员和构造方法。
2、抽象类对象不能通过new关键字实例化。
3、抽象方法不在声明它的类中实现,但必须在某个子类中重写。
4、abstract 关键字不能应用于 static、private 、 final 修饰的方法,因为这些方法不能被重写。
5、抽象类不一定要有抽象方法,但有抽象方法的类必定是抽象类。
抽象类代码例子:
public abstract class Abstract {
String oneName="小明";
String twoName="小红";
public abstract void msgOne(); //抽象类自己的不能实现的方法
public abstract String msgTwo();
static void test(){ //抽象类自己的可以实现的方法
System.out.println("小明\n小红");
}
public static void main(String[] args){
test(); //抽象类不能创建对象,所以用static修饰方法,方便调用
}
}
继承抽象类的子类:
public class Test extends Abstract{ //继承抽象类
@Override
public void msgOne() { //重写了抽象类的方法
System.out.println(oneName);
}
@Override
public String msgTwo() { //重写了抽象类的方法
System.out.println(twoName);
return twoName;
}
public static void main(String[] args){
Test t=new Test(); //子类实例对象
t.msgOne(); //对象调用方法
t.msgTwo();
}
}
运行结果:(相同)
小明
小红
接口与抽象类的区别:
1、接口多实现,抽象单继承。
2、抽象类中有自己可以实现的方法体,但接口不行。
3、抽象类可以有静态代码块和静态方法,但接口不行。
4、图:
最后:仔细认真理解!
让我恰个饭吧.ヘ( ̄ω ̄ヘ)
支付宝 ——————- 微信
恰饭广告