学习笔记8:JAVA面向对象的三特性:封装、继承与多态

本文详细介绍了面向对象编程的三大特性:封装、继承和多态。封装着重讲解了访问修饰符的作用,如何通过setter和getter方法以及构造器实现数据的安全性。继承部分阐述了extends关键字的使用,super关键字的应用,以及方法重写的原则。多态部分解释了其前置条件、动态绑定的概念,并探讨了类型转换的规则。此外,文章还提及了实例化对象时静态资源的处理以及静态方法的使用场景。
摘要由CSDN通过智能技术生成

封装

        主要解决安全性问题

        提供对外的输入输出接口(setter和getter、构造方法)

        构造方法要调用setter来实现封装

        访问修饰符:

        public:全工程可见,范围最大

        proteced:包级私有+子类可见

        默认(什么都不写):包级私有,在同一包的所有类可见

        privite:只有本类可见,范围可见

        package:用于声明当前类所在的包,必须写在代码的第一行(开头)

        import:用于导入当前类所引用的类,正常在package语句下一行

        static关键字(静态)

                没有ststic关键字的可以认为是对象的,有siatic的可以认为是类的

                加static的属性叫做类属性,是全局变量,不论哪个对象或者整个类型来改变属性的值, 都会对其他对象/整个各类造成影响。

                加static的方法叫做类方法,是全局方法,一般用于定义工具方法

                对象方法可以直接调用对象属性和对象方法以及静态属性和静态方法

                静态方法可以调用静态属性和静态方法,但不能直接调用对象属性和对象方法

        静态代码块:

                只会在第一次访问该类型的时候,执行一次代码块

继承:

        关键字为extends,子类对象继承了父类对象的所有内容,但都不可见

        静态资源属于类,不属于被继承的范畴

        子类构造方法默认来自父类无参

public void 类名 extends 父类名{

    static int 变量名;
    
}

        super关键字

                父类有有参但没有无参时,子类无法直接写出无参构造,需要用super()指定父类的构造方法

                子类可以通过super()关键字指定父类的构造内容

                super.属性一般用于区分子类、父类都有的属性

                super.方法一般用于区分子类父类都有的相同方法(重写的同时调用父类方法)

                super(...)指定父类的构造方法

        方法重写的规则:

                子类继承父类的前提

                方法名相同

                参数列表相同

                子类方法的返回值要与父类方法相同或者是其子类

                访问修饰符不能比父类更严格

                不能扩散异常(增大父类抛出的异常)

                静态方法不属于对象,不能被继承,调用使用 类名.方法名 的形式调用

                静态方法不能与普通方法重名

父类:
public class a{ 
int abc(int a){
return a;
    }
}

子类:
public class b extends a{
int abc(int a){
return a+1;
    }
}

多态:

        前置条件时父类被子类调用

        解释时父类中的方法被子类重写

        在别的类中,有一个参数为父类类型的方法,调用了被重写的父类方法

        调用(传递实参)时,实参参与子类对象,那么就会调用该子类对象重写后的方法

        类型转换:

                大类型接受小类型默认为大类型

                小类型接受大类型,要进行强制转换(会丢失精度);

                常用instanceof关键字判断是否可转

if(对象名 instanceof 类型){
子类型 新对象名=(子类型)对象名:
//可以用新对象名来调用
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值