面向对象编程6

抽象类

关键词:abstract

package javaSE.oop.Demo08;

public abstract class Action {//抽象类     单继承
   //(接口可以多继承)
   
   public abstract void doSomeThing();//抽象方法   只有方法名,没有实现
}

/*1、不能new抽象类(实例化),只能靠子类去实现
 2、抽象方法必须在抽象类中
 3、抽象类中可以有普通方法
*/
package javaSE.oop.Demo08;

public class A extends Action{
   @Override
   public void doSomeThing(){//实现父类的抽象方法

  }
}
  • 不能new抽象类(实例化),只能靠子类去实现

 

接口

普通类:只有具体实现

抽象类:具体实现和规范(抽象方法)都有

接口:只有规范,(自己无法写方法) (约束和实现分离)

关键字:interface

  • 接口的本质是契约

package javaSE.oop.Demo09;

//interface 定义接口关键字       接口都需要有实现类
public interface UserService {
   //接口中的所有定义方法都是抽象的 public abstract   属性默认为常量 public static final
   int AGE = 200;//常量
   
   void add(String name);
   void delete(String name);
   void update(String name);
   void query(String name);//查
}
package javaSE.oop.Demo09;

public interface TimeService {
   void time();
}
package javaSE.oop.Demo09;

//implements 类实现接口关键字
//实现了接口的类必须要实现接口中的方法
//利用接口可以实现(伪)多继承
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 time() {

  }
}
  • 接口不能被new(实例化),也没有构造方法

posted @ 2022-06-13 17:33  唐靈影  阅读(24)  评论(0)    收藏  举报