接口(重点)和抽象类-----------简便理解

接口(重点)

  • interface:为了满足 java只满足单继承的情况,为了实现多继承的效果,扩展了类的功能,弥补了Java的继承缺点

  • 定义一个接口:

    修饰符 interface 类名{}

    默认的属性是被final static private 修饰的

    abstract:抽象

    抽象方法的定义:默认修饰:public abstract

    方法返回类型 方法名();

    • 使用:

      接口的继承:public class 类名 implements 接口名{}

      对方法进行重写

      @Overide

      重写的方法

      public class Person {
          public void eating(){
              System.out.println("人正在吃饭");
          }
          public void walking(){
              System.out.println("人正在走路");
          }
          public void sleeping(){
              System.out.println("人正在睡觉");
          }
      }
      
      public interface TeacherImpl {
          //隐藏public abstract
           void byCar();
           void working();
      }
      
      public interface TeacherImpl2 {
          void buyBook();
          void exam();
      }
      
      public class Teacher extends Person implements TeacherImpl,TeacherImpl2{
          public void onClass(){
              System.out.println("当前老师正在上课");
          }
          public void teaching(){
              System.out.println("老师正在做教学");
          }
      
          @Override
          public void eating() {
              System.out.println("老师正在吃饭");
          }
      
          @Override
          public void walking() {
              System.out.println("老师正在走路");
          }
      
          @Override
          public void sleeping() {
              System.out.println("老师正在睡觉");
          }
      
          @Override
          public void byCar() {
              System.out.println("老师正在开车");
          }
      
          @Override
          public void working() {
              System.out.println("老师正在工作");
          }
      
          @Override
          public void buyBook() {
              System.out.println("老师有一家书店");
          }
      
          @Override
          public void exam() {
              System.out.println("老师也需要考试");
          }
      
      public class Test {
          public static void main(String[] args) {
              Teacher t1=new Teacher();
              t1.onClass();
              t1.byCar();
              t1.eating();
              t1.sleeping();
              t1.teaching();
              t1.walking();
              t1.working();
              t1.buyBook();
              t1.exam();
          }
      

      抽象类:

      • 抽象类不能别直接实例化

        定义:public abstract class Shape{}

        • 写抽象方法

          定义:public abstract void getArea();

      public abstract class Shape {
          public abstract void area();
          public abstract void lon();
      }
      
      public class Triangle extends Shape{
      
          @Override
          public void area() {
              System.out.println("这是三角形的面积");
          }
      
          @Override
          public void lon() {
              System.out.println("这是三角形的长度");
          }
      }
      
      public class rectangle extends Shape{
      
          @Override
          public void area() {
              System.out.println("这是长方形的面积");
          }
      
          @Override
          public void lon() {
              System.out.println("这是长方形的周长");
          }
      }
      
      public class Test2 {
          public static void main(String[] args) {
              rectangle re=new rectangle();
              re.area();
              re.lon();
      
              Triangle triangle=new Triangle();
              triangle.area();
              triangle.lon();
          }
      }
      
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@湖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值