接口

接口

  • 普通类:只有具体实现
  • 抽象类:具体实现和规范(抽象方法)都有!
  • 接口:只有规范!自己无法写方法专业的约束!约束和实现分离:面向接口编程
  • 接口的本质就是契约
  • 声明接口的关键字是interface
//接口都需要有实现类
public interface UserService {

    //常量~ public static final
    int AGE = 99;

    //接口中的所有定义其实都是抽象的  public abstract
    void add(String name);
    void delete(String name);
    void update(String name);
    void query(String name);
}
public interface TimeService {
    void timer();
}
public class UserServiceImpl implements UserService,TimeService {
    @Override
    public void add(String name) {

    }

    @Override
    public void delete(String name) {

    }

    @Override
    public void update(String name) {

    }

    @Override
    public void query(String name) {

    }

    @Override
    public void timer() {

    }
}
  • 作用:
    • 约束
    • 定义一些方法,让不同的人实现
    • 类:public abstract
    • 常量:public static final
    • 接口不能被实例化~,接口中没有构造方法
    • implements可以实现多个接口
    • 必须重写接口中的方法

内部类

public class Outer {

    private int id = 10;
    public void out(){
        System.out.println("这是外部类的方法");
    }

    public class Inner{
        public void in(){
            System.out.println("这是内部类的方法");
        }

        //获得外部类的私有属性
        public void getId(){
            System.out.println(id);
        }
    }
}
public class Application {
    public static void main(String[] args) {
        Outer outer = new Outer();
        outer.out();
        //通过外部类来实例化内部类
        Outer.Inner inner = outer.new Inner();
        inner.in();
        inner.getId();
    }
}
public class Outer {


}

//一个Java类中只能有一个public类,但可以有多个class类
class A{

}
public class Test {
    public static void main(String[] args) {
        //没有名字的初始化类,不用将实例保存到变量中~
        new Apple().eat();
    }
}

class Apple{
    public void eat(){
        System.out.println("1");
    }
}
posted @ 2021-09-13 15:48  技术人员小饭  阅读(16)  评论(0)    收藏  举报