Java笔记02-封装继承

本文介绍了面向对象编程中的核心概念,包括封装、继承和访问修饰符。封装通过属性私有化和setter/getter方法确保数据安全;继承允许类之间共享属性和行为,实现代码复用,Java支持单继承;访问修饰符决定了类成员的可见范围。同时,讲解了方法覆盖、构造方法、方法重载以及this和super关键字的使用。通过对这些概念的理解,能更好地掌握面向对象编程的基本原理。
摘要由CSDN通过智能技术生成

一.封装
    1.概念:属性私有化(private),提供setXXX和getXXX。
    2.作用:保证数据的合理。
二.继承
    1.概念:类与类之间,特征和行为的赠与或获得。
        满足继承关系的前提:二者必须具备is a关系。
    2.语法:class 子类 extends 父类{}
      创建子类对象 = 父类共性 + 子类独有
    3.继承的好处:减少代码的冗余,提高代码的复用性。
    4.继承的特点:
        java只支持单继承,不支持多继承,但可以多层继承,形成集成体系结构。
        A 继承 B
        A 继承 B 继承 C
        A 继承 B   A 继承 C
        
    5.不可被继承
        ①构造方法
        ②private修饰的属性和方法
        ③父子类不在同一个package中,使用default修饰的属性和方法
三.访问修饰符
    访问修饰符       本类      同包      非同包父子类      其他
    private           √
    默认              √         √
    protected         √         √           √
    public            √         √           √                √
四.方法的覆盖
    1.什么时候需要覆盖?
        父类的方法无法满足子类的需求,需要覆盖。
    2.覆盖的要求:
        ①返回值类型、方法名、形参列表和父类完全一致
        ②修饰符和父类相同或者比父类更宽
        注:当子类覆盖父类方法后,调用该方法,执行的是覆盖之后的。
    3.Overload和Override区别?
        重载(Overload):一个类中定义多个相同名称的方法。
            要求:
                1.方法名相同
                2.参数列表不同(类型、个数、顺序)
                3.与访问修饰和返回值类型无关
    
        覆盖(Override):父类方法无法满足子类需求,需要进行覆盖。
            要求:
                1.返回值类型、方法名、形参列表和父类完全一致
                2.修饰符和父类相同或者比父类更宽
五.super(父类 基类 超类)
    1.用法:
        super.成员方法():表示调用父类中的成员方法
        super.属性:表示调用父类的属性
        super()和super(实参):表示调用父类的构造方法
    注意:如果构造中没有this()或者this(实参)或者super(实参),每一个构造方法中首行都隐式存在super()。
        在一个构造中this()或者this(实参)或者super()或者super(实参)因为都要求在首行,所以只能使用一个。
 

一.构造方法
    1.概念:类中的特殊方法,用来创建对象。
    new Dog();
    调用了Dog类中的无参构造
        分为无参构造和有参构造
        无参构造:每个类中都有一个默认的无参的构造方法
        有参构造:主要是方便为属性赋值,参数名要见名知意
        注:如果定义了一个带参数的构造方法,系统则不再提供默认的无参
    2.要求:
        ①方法名和类名一致
        ②没有返回值类型
        ③不能手动调用
    注意:如果类中没有显示提供构造方法,编译器会默认提供无参构造方法。

二.方法的重载
    1.概念:一个类中可以存在多个重名方法。
    2.要求:
        ①方法名相同
        ②参数列表不同(类型、个数、顺序)
        ③与修饰符返回值类型无关
    好处:屏蔽使用差异。
    3.构造方法重载
    作用:构造方法支持重载,主要是方便为属性赋值。
三.this关键字
    1.概念:表示当前对象。一般用于构造方法
    2.this的用法:
        this.属性:表示调用本类中的实例属性。
        this.方法名():表示调用本类中的实例方法。
        this()和this(实参):分别表示调用本类中的无参构造和带参构造。
    注意:this()和this(实参)必须放在构造方法中的第一行。
四.static关键字(静态)
    1.概念:
        ①静态可以修饰属性和方法。
        ②修饰属性我们称为静态属性(类属性),修饰方法称为静态方法(类方法)。
        ③静态成员是全类所有对象共享的成员,只有一份,不因创建多个对象产生多份。
        ④静态成员应该使用类名访问。
    2.调用静态方法:
        在同一个类中有多个静态方法,之间互相调用可以直接写"静态方法的名称"
        在不同类中,调用其他类的静态方法语法:类名.静态方法名称
    3.static特点 
        ①静态方法可以直接访问静态成员。
        ②静态方法不能直接访问非静态成员,可以通过创建对象进行访问。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值