• 类,接口,抽象类总结


    类,接口,抽象类总结
    类的继承

    类继承的格式:
    Public class 类名 extends 父类名{

    }
    注意:java中类的继承是单继承,即extends后只有一个父类。
    例:public class UNSstudent extends Student{}

    子类继承父类中的方法时有两种情况:
    如果子类和父类在同一个包下,那么父类中的公有属性,受保护属性以及普通方法可以被子类继承,而私有属性、方法及构造方法不能子类继承。
    如果子类和父类不在同一个包下,那么父类中的公有属性及普通方法可以被子类继承到,而私有属性及方法和受保护的属性及方法、构造方法不能被子类继承到。
    方法的重写
    如要实现方法的重写必须满足的条件:
    1) 两个类必须存在继承关系;
    2) 子类重写方法的访问修饰符必须大于或等于父类方法的访问修饰符private<protected<public。
    3) 方法的返回值数据类型,方法名,参数类型、个数及顺序都必须形同。
    注意:如果子类中没有重写方法,那么调用时会优先执行父类中的方法,如子类中重写了方法,那么调用时就会先执行子类中的方法。
    自动转型
    条件:必须存在继承关系。
    格式
    1父类名 对象名=new 子类构造方法();
    Student un = new UNSstudent();
    2 定义方法
    Public 返回值数据类型 方法名(父类名 对象名){
    代码
    }
    实例化对象
    父类名 对象名=new 子类构造方法();
    子类名 对象名=new 子类构造方法();
    调用:方法名(对象名)

    多态:多态是由java的方法重载,继承,方法重写,自动转型等技术的表现形式。
    多态是对象之间的不同表现形态。
    面向对象的三大特征:
    1. 继承
    2. 多态
    3. 封装

    接口
    定义接口:
    public interface 接口名 extends 接口名,…{}
    接口中可以定义常量:
    public static final 数据类型 常量名= 值;
    例如 public  static final String NAME=”li”;(常量名必大写)

    定义抽象方法:
    public 返回值数据类型 方法名(数据类型 参数名,…);
    注意:这里没有大括号,而是用分号。

    注意:
    1接口中默认的访问修饰符是public,
    2 接口中可以定义抽象方法
    3接口可以继承多个接口,用逗号分隔开即可,
    4接口不能实例化对象。
    实现接口的格式:
    Public class 类名 implements 接口名,…{
    //要实现接口中可全部抽象方法
    }
    接口可以实现类或抽象类然后在实现多个接口
    格式:
    public class 类名 extends 类名或抽象类 implements 接口名,…{
    //实现抽象类中和接口中的所有抽象方法
    }
    接口和类的区别:
    1. 定义的关键字不同,前者为implements,后者为class;
    2. 接口中默认的访问修饰符是public,类中默认的是protected;
    3. 接口中只能定义常量和抽象方法,而类中可以定义常量,属性,方法;
    4. 接口可以多继承,而类是单继承;
    5. 接口中不可以实例化对象,类中可以实例化对象。
    public interface Drawing{
    //定义常量
    public static final String NAME=”圆”;
    //定义抽象方法
    public void draw();
    }


    抽象类
    定义抽象类
    public abstract class抽象类名{
    }
    抽象类中可以定义类中有的任何属性方法,但不能实例化对象。
    可以定义常量(常量名的各个字母都要大写),
    还可以定义抽象方法,格式:
    public abstract 返回值数据类型  方法名(数据类型 参数名,……);
    抽象类也可以继承,其格式为:
    public abstract class抽象类 extends 抽象类或类{
    //抽象类中的抽象方法可以实现也可以不用实现
    }
    1.抽象类是继承类和接口所有特性的类。
    2.抽象类和接口都是比较特殊的类。
    3.抽象类和接口都不能实例化对象。
    public abstract class Absdraw{
    //定义常量
    public static final String NAME=”圆”;
    //属性
    private String type;
    //构造方法
    public Absdraw (String type){
    this.type = type;
    }
    //普通方法
    public void setType(String type){
    this.type = type;
    }
    public String getType(){
    return type;
    }

    //定义抽象方法
    public abstract void draw();

    }

  • 相关阅读:
    Swagger文档项目配置
    时间格式转换和加一天操作
    Mysql 主从复制
    Nginx简单记录
    Linux Nginx
    obsidian插件Advanced Uri常用配置路径汇总
    react图片查看器插件imagesviewerreact与useRef的爱与恨
    DRF中serializer的中的模型字段解释
    Codeforces Round #787 (Div. 3)ABCD
    THUPC 2022 游记
  • 原文地址:https://www.cnblogs.com/weichunguang/p/wei5.html
Copyright © 2020-2023  润新知