java抽象,接口,容易混淆的几个类对应方法

[复制链接]
admin 发表于 5 天前 | 显示全部楼层 |阅读模式
java抽象,接口,容易混淆的几个类对应方法

一,抽象

注意:
1.抽象类不能直接new对象,只能创建非抽象子类的对象
2.抽象类中不一定非得有抽象方法,但是抽象方法所在的类一定抽象类
3.抽象类的子类,必须重写父类中的所有抽象方法,否则,编译报错,除非该子类也是抽象类
4.抽象类中可以有成员变量,构造,成员方法
5.抽象类中可以有构造方法,是供子类创建对象时,初始化父类属性使用的
  1. public abstract class Employee {
  2.     private String name;
  3.     private int age;

  4.     public Employee() {
  5.     }

  6.     public Employee(String name, int age) {
  7.         this.name = name;
  8.         this.age = age;
  9.     }

  10.     public String getName() {
  11.         return name;
  12.     }

  13.     public void setName(String name) {
  14.         this.name = name;
  15.     }

  16.     public int getAge() {
  17.         return age;
  18.     }

  19.     public void setAge(int age) {
  20.         this.age = age;
  21.     }

  22.     public abstract void work();
  23. }
复制代码
  1. public class Teacher extends Employee{
  2.     public Teacher() {
  3.     }

  4.     public Teacher(String name, int age) {
  5.         super(name, age);
  6.     }

  7.     @Override
  8.     public void work() {
  9.         System.out.println("在讲java");
  10.     }
  11. }
复制代码
  1. public class Test01 {
  2.     public static void main(String[] args) {
  3.         Teacher t1 = new Teacher("涛哥", 18);
  4.         System.out.println(t1.getName()+"..."+t1.getAge());
  5.     }
  6. }
复制代码
二,接口

1.定义接口:
  public interface 接口名{}
2.实现:
  public class 实现类类名 implements 接口名{}
3.使用:
  a.实现类实现接口
  b.重写接口中的抽象方法
  c.创建实现类对象(接口不能直接new对象)
  d.调用重写的方法

  1. public interface USB {
  2.     public abstract void open();
  3.     public abstract void close();
  4. }
复制代码
  1. public class Mouse implements USB{
  2.     @Override
  3.     public void open() {
  4.         System.out.println("鼠标打开");
  5.     }

  6.     @Override
  7.     public void close() {
  8.         System.out.println("鼠标关闭");
  9.     }
  10. }
复制代码
  1. public class Test01 {
  2.     public static void main(String[] args) {
  3.         Mouse mouse = new Mouse();
  4.         mouse.open();
  5.         mouse.close();
  6.     }
  7. }
复制代码
2.1抽象方法

1.定义格式:
  public abstract 返回值类型 方法名(形参);
2.注意:
  不写public abstract 默认也有
3.使用:
  a.定义实现类,实现接口
  b.重写抽象方法
  c.创建实现类对象,调用重写的方法

2.1默认方法

1.格式:
  public default 返回值类型 方法名(形参){
      方法体
      return 结果
  }
2.使用:
  a.定义实现类,实现接口
  b.默认方法可重写,可不重写
  c.创建实现类对象,调用默认方法


2.3静态方法

1.定义格式:
  public static 返回值类型 方法名(形参){
      方法体
      return 结果
  }

2.使用:
  接口名直接调用


接口特点:

1.接口可以多继承 -> 一个接口可以继承多个接口
  public interface InterfaceA extends InterfaceB,InterfaceC{}
2.接口可以多实现 -> 一个实现类可以实现一个或者多个接口
  public class InterfaceImpl implements InterfaceA,InterfaceB{}
3.一个子类可以继承一个父类的同时实现一个或者多个接口
  public class Zi extends Fu implements  InterfaceA,InterfaceB{}

4.注意:
  继承也好,实现接口也罢,只要是父类中或者接口的抽象方法,子类或者实现类都要重写

网站建设,公众号小程序开发,多商户单商户小程序制作,高端系统定制开发,App软件开发联系我们【手机/微信:17817817816
微信扫码

网站建设,公众号小程序开发,商城小程序,系统定制开发,App软件开发等

粤ICP备2024252464号

在本版发帖
微信扫码
QQ客服返回顶部
快速回复 返回顶部 返回列表