Java面向对象——封装

本文详细探讨了Java中的封装概念,强调了类和对象的关系,类的组成部分,包括方法、this关键字的使用、代码块、修饰符的应用以及如何处理私有属性。还介绍了构造方法、重载方法、静态修饰符、类加载、不定项参数、内部类以及JDK14的记录类新特性。此外,简要提到了jar包的使用。
摘要由CSDN通过智能技术生成

Java面向对象——封装

  • 封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏
  • 封装是将自然界中具有相似特征和行为的事务抽象成一个类,并尽可能的私有化属性的过程,对不可信的进行信息隐藏

  • 类是自然界中描述具有相同 特征 (属性)和 行为 (方法)的事务的统称
  • 类是抽象的

对象

  • 皆为对象
  • 对象是具体的

类和对象的关系

  • 类是 对象的 模板,模板的作用就是构建对象的
  • 对象是类的具体实现,一个类,可以有无数个对象

类的组成——类中的方法

  • ()是方法的标识

       *构造方法
       *      特点:
       *          方法名和类名 完全一致
       *          方法名不能设置返回值类型(void 都不能写)
       *          构造方法通过 new 关键字来调用
       *          如果类中没有设置构造方法,JVM(Java虚拟机)会自动提供一个无参构造方法
       *          如果类中设置的有构造方法,那么JVM(Java虚拟机)不再提供任何额外的无参构造方法
       *          
       *      作用:
       *          	创建对象
       *          	有参构造可以对  属性 进行赋值
    

方法的重载:
在一个类中,具有多个相同的方法名,这种现象称为方法的重载

  • 方法的重载 必须同时满足以下两个条件:
  • 1.方法名 必须相同
  • 2.参数列表 不同 (参数个数不同 或者 参数类型不同)

类的组成——this的调用

  • 当局部变量(定义在方法中的变量)和成员变量(类中的变量 )的名字冲突时,优先使用局部不变量的名字,成员变量的名字会被覆盖,如果此时需要使用成员变量(属性),那么通过 this 关键字进行访问
  • this 在Java的类中,代表该类的对象 (调用该属性或者方法的对象)
  • this 通过’ . ’ 可以调用属性,也可以调用成员方法
  • this 还可以调用 构造方法 (在构造方法中,调用构造方法)
  • this() : 调用无参的构造方法
  • this 在调用构造方法的时候,必须出现在构造方法中,作为第一个语句

类的组成——代码块

  • 代码块一般用来做数据的初始化工作,它会在调用构造方法前执行
  • 属性的声明在代码块之前,先对属性进行执行,属性在代码块之后,属性的声明会被调用在代码块之前
  • 在代码块中无法使用有可能未被赋值的属性

类的组成——修饰符

权限修饰符

public (公有的)
protected (受保护的)
friendly(default)(缺省的)
private(私有的)
在这里插入图片描述

private 私有属性问题
  • 私有属性想要使用,1.设置一个构造方法进行赋值(只能设置值,不能访问)2.设置防范(set/get 方法设置/获取值)
  • 如果设置有参构造,同时推荐设置一个无参构造,没有无参构造,会在创建对象的时候需要直接设置属性
		//输出 person 对象
        System.out.println(person);
        //结果:com.qikux.day0726.Person@404b9385
field 属性
    /**
     * 姓名
     */
    private String name ;
property 属性
  • 指的是 setter / getter 方法
    -去掉 get 或者 set ,然后首字母变小写,这样的属性成为 property 属性
    /**
     * 添加私有属性 name 的方法
     */
    public void setName(String name){
   //当前位置name是property属性
        this.name = name ;
    }

重写 equals 方法
    public double getMoney(){
   
        return this.money ;
    }
    public String toString(){
   
        return "姓名:"+name+"\n年龄:"+age+"\n性别:"+sex+"\n身份证号:"+id_number+
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值