java 基础知识二(抽象类‘、接口)
2017-03-18 17:15
381 查看
当父类的方法不确定时候,可以abstract关键修饰这种方法,可以修饰这种方法,同样修饰这样类:
1)当一个类继承父类是抽象类,子类必须实现父类其中所有的抽象方法
2) 抽象方法必须在抽象类,抽象方法在父类不能实现 只能是这样 abstract public void cry();没有主体
3) 抽象类 不能实例化; anmial an=new anmial() 出现问题
4) 抽象类没有abstract方法,不能有主体
主体: abstract void cry(){ }
public class demo_2 { anmial an =new anmial();//会报错 抽象方法不能实例会 Cat cat=new Cat(); } abstract class anmial{ String name; int age; //动物会叫,不知道会怎样去叫 ---必须要抽象 //抽象方法在抽象类中 抽象类同样继承 abstract public void cry(); } //当一个类继承父类是抽象类,子类必须实现其中所有的抽象方法 class Cat extends anmial{ public void cry() { //实现;不会报错 } }
2. 接口----实现多继承和多态
class 类名 implement interface {
}1). 实现接口的话,必须实现接口中所有的方法
2). 接口不能实例化,接口中所有方法不能用主体
3).调用接口 接口过程有变量{但是变量不能用private 和 protected 修饰,变量要初始化}---接口中变量都是static类型,并且接口中变量常变量必须要初始化---接口中变量本质上静态的且final类型。
4).一个接口不能继承其他类 可以继承其他接口;但是实现接口时候除了实现本接口中方法,还要实现继承的接口中方法
/**
*
*/
package ExtendsDemo;
/**
* @author
*
*/
public interface USB extends kkk {
int a=0;//static 类型且 final
public void start();
public void stop();}
interface kkk{
public void fry();}
//一个类实现多个接口
class Camera implements USB,kkk
{
//当一个类实现某个接口,必须该类实现接口所有方法
@Override
public void start() {
// TODO Auto-generated method stub
System.out.println("我是相机 开始工作");}
@Override
public void stop() {
// TODO Auto-generated method stub
System.out.println("我是相机 停止工作");}
@Override
public void fry() {
// TODO Auto-generated method stub
}
}
class Phone implements USB
{
@Override
public void start() {
// TODO Auto-generated method stub
System.out.println("我是phone 开始工作");}
@Override
public void stop() {
// TODO Auto-generated method stub
System.out.println("我是phone 停止工作");}
@Override
public void fry() {
// TODO Auto-generated method stub
}
}
class Computer{
public void USeUsb( USB usb)
{//多态,电脑自己识别调用不同实例
usb.start();
usb.stop();}}
两者区别:
1. 抽象类可以为成员方法提供实现的细节,但是接口 只能有public abstract方法 不能有private或者protected修饰成员方法
接口方法都是public。
2.抽象类成员变量各种类型,但是接口中变量只能是public static静态变量
3.接口中不能用静态代码块或者静态的方法
4.接口不能继承其他类,继承其他的接口,一个类只能继承一个抽象类但是实现多个接口(接口只能继承接口,类只能继承一个抽象类)
相关文章推荐
- java基础知识(2)抽象类和接口
- Java基础知识学习总结(一)---深入理解Java的接口和抽象类
- java基础知识--抽象类和接口
- java基础(2)-基础类型和语法(static、内部类、final、抽象类、接口、封装)(并将这些基础知识与java的三大特征关联(继承、多态、封装))
- Java基础——关于抽象类,接口和内部类(inner class)的相关知识
- java基础知识回顾之抽象类和接口的区别
- java内接口,抽象类,继承实现的一些基础知识和实例
- java基础知识6-- 抽象类,抽象方法,接口,构造方法,类方法等易混淆的知识点
- java基础知识(6)---抽象类与接口
- java基础知识---多态、抽象类、接口、内部类
- java基础知识回顾---接口和抽象类
- java基础知识之抽象类于接口
- Java基础知识整理(二)- 抽象类与接口
- java基础知识—JAVA中抽象类和接口的区别
- 【Java基础知识】抽象类与接口
- java 基础知识十一 抽象类和 接口
- JAVA基础知识:抽象类、接口
- Java基础知识强化18:抽象类、接口的区别 和 抽象类可以不实现接口的全部方法
- 安卓开发基础新手必知java知识之接口与抽象类的区别
- Java基础知识整理二(抽象类、接口…