对继承 封装和多态的理解

1.继承

1)何为继承? 即指子类拥有父类的所有属性与方法,构造函数除外

2)优点

1.提高代码复用率 2.降低代码耦合度 3.提高代码可阅读性

3)继承关系:父类:提取多个对象的共同属性而形成的类

4)语法: 访问权限修饰符 class 子类名 extends 父类名{}

5)重写 要求

       1)在继承关系中

        2)子类重写父类方法,访问权限修饰符不可减小.返回值类型相同 方法名相同 形参列表相同 方法体不同

6)重载:在一个类中 两个方法的方法名相同,而形参列表必须不同

 7)注意     

        1.一个子类只能继承一个父类 

        2.如果一个类没有继承则默认继承object

2.super的使用

1).当子类方法名与父类方法名相同时,用super加以区分父类方法名 即super.方法名(形参列表)

2)当子类重载方法时,用super加以区分父类属性并用super进行调用 即 super.属性名

3)当子类调用父类构造函数时用super 即super(实参列表),且调用时必须在第一行调用

3.封装

1).作用域:变量和方法作用的范围

2).访问权限修饰符:限定类 属性 方法 构造函数的使用范围

        种类

                public 用于整个项目

                protected 同包或继承关系中

                默认的 同一个包中

                private 当前类中

        对于一个标准类中属性方法构造函数修饰符的使用

                1)私有化属性

                2)提供两个构造函数,一个无参一个全参,使用public修饰

                3)给所有属性提供get和set方法,get用于获取属性 set用于设置属性,(快捷键 Alt+shift+s,选择get and set)

                get set的区别:

                        get中有返回值,因此需要在方法中设置返回值类型,且用return+数据即

                        set中返回值类型为空且需要传参

                4)重写tostring方法

标准类的格式

public class 类名{
    //修饰属性
    private String name ;
    private String gender ;
    private int age ;
    //修饰构造函数
    public 类名(形参){
        super() ;
        this.name = name ;
        this.gender = gender;
        this.age = age ;
    }
        //无参构造
     public 类名(){
        super();
    }
        //get set的快捷键 Alt+shift+s
       //get方法 注意get有返回值类型,且无形参,需return+数据进行返回数据
    public String getName(){
            return name;
    }

       //set方法 注意set需要传参但无需返回值
    public void setName(形参列表){
        this.name = name ;
        this.gender = gender ;
    
    }
}

4.多态

1)意义:一个事物的多种展现形式

2)事(方法)的多态:重写与重载(父类方法中的sleep和子类中的sleep除方法体不同以外其他均相同,体现了睡的两种状态 重载:在同一类中两种不同的睡法)

3)物(对象)的多态:(涉及在main方法中子类对象转父类对象 和 父类对象转子类对象)

        父子转换的意义:子转父指将子类对象直接赋值给父类对象


//子类对象转父类对象自动转换
//子类对象转为父类对象,调用重写后的方法,还是执行子类重写的方法
Anim anim = person ;
//父类对象转子类对象强制转换,且强制转化有风险需要用instenceof判断
Person person = (Person)anim ;
//判断对象是否属于该类语法
if(anim instenceof Person){sout("是人类对象")}

5.包装类

1)八个基本数据类型对应的类

除了int 和char分别是 Integer 和 Character 外其他都是首字母大写

2)自动装箱:将基本数据类型变量赋值给对应的类修饰的变量

3)自动拆箱:将类修饰的变量赋值给基本数据类型变量

        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值