Java对象与封装详解

本文介绍了如何在IntelliJIDEA2023.1.4版本中使用Java进行面向对象设计,包括基本概念、类图理解、构造方法、方法重载以及类的封装和访问控制。通过实例阐述了如何遵循设计原则,以及如何利用IDEA工具自动化实现封装过程。
摘要由CSDN通过智能技术生成

使用工具 IntelliJ IDEA Community Edition 2023.1.4

使用语言 Java

1.面向对象设计

        1.1 面向对象基本概念

                在现实世界中万,事万物皆为对象,这些对象有自己的特征(属性)和行为(方法);

                各式各样的且具有相同特征和行为的对象组合在一起可以归结为一个类;

                对象是类的实例(具体),类是对象的模版;        

                对象是按照类的模版造的;

                        1.1.1 方法的定义

                                [访问修饰符] <返回值类型> <方法名>([参数列表]){}

                        1.1.2 属性的定义

                                在Java中属性就等于变量

                                <数据类型> <变量名>[=值];

                        1.1.3 设计类时需要遵循的原则

                                属性和方法是为了解决业务问题设置的;

                                关注主要属性和方法;

                                如果没有必要,不要添加额外的类,方法,属性;

        1.2 面向对象设计基本步骤

                第一步:发现需求,归纳出类;

                第二步:发现类的属性(就是特征);

                第三步:发现类的方法(就是类拥有的行为);

        1.3 类图

                在实际开发中BOOS常常会给一些类图,你要学会观看类图,例

AppleTree
+ str:String
-print():void

                在以上类图中,最顶部的格子代表了类名,下面的首先是属性,后面的是方法在方法和属性前面,一般可以看见一个'+'号或'-',又或者'#',这个代表访问修饰符,'+'号代表public(公共的),'-'号代表private(私有的),"#"号代表protected(受保护的),访问修饰符我放在后面进行讲解,而这个符号后面跟着的就是变量名或方法名了,最后在变量的':'后面的就是变量类型,而在方法后面的就是返回值。

        1.4 构造方法

                1.4.1 构造方法的语法

                        [访问修饰符] <方法名>([参数列表]){}

                1.4.2 构造方法的作用与讲解

                创建构造方法在idea可以直接右键点生成,然后里面的构造函数,最后选择变量就行了(不过新手建议手打)

                在Java中通过自定义类的构造方法执行一些类的初始化操作,比如给成员变量赋初始值等,构造方法的名称必须和类名相同,但是没有返回值类型,创建构造方法的作用是在类实例化的时候可以直接执行某段代码

                如果定义了一个有参构造方法,那想要直接实例不传递参数可以使用那就再加一个无参构造方法就可以,系统默认给了一个无参构造方法,所已直接实例化不会编译错误,但是如果显式定义了一个或多个构造方法,Java就不会自动添加默认构造方法。

        1.5 方法重载

                1.5.1 方法重载的定义

                方法重载指的是同一个类包含两个或两个以上的方法,它们的方法名相同,方法参数的个数和参数类型不同,成员方法和构造方法都可以用来重载,像我们打印输出的println()方法就使用了重载;我们可以按着Ctrl键点击println()方法就可以跳转进去查看;

                1.5.2 方法重载的特点(要求)

                1.必须在同一个类中;

                2.方法名相同;

                3.参数列表(方法参数的个数或参数类型)不相同;

                1.5.3 方法重载的使用和优点

                方法重载是对原有方法的一种升级,可以根据参数的不同,采用不同的实现方法,而且不需要编写多个名称,简化了类调用的代码。

2.使用封装重构类的属性和方法  

        封装是面向对象设计的三大特性之一,还有两种分别是继承和多态,我会在后面的文章进行讲解,你们的点赞就是我的动力,请给我点点赞吧

        2.1 封装的概念

                封装的好处在于隐藏内部的细节,让用户只能通过开发人员规定方法访问数据,可以方便加入访问修饰符来限制不合理操作,大大提高了代码的复用性和安全性。

                封装反映了事务的相对独立性,有效避免了外部错误对此对象的影响,并且对用户由于大意产生的错误操作起到预防作用。

                封装是面向对象的三大特性之一,就是将类的状态信息隐藏在类内部,不允许外部程序直接访问,而通过该类提供的方法实现实现对隐藏信息的操作和访问

        2.2 封装的步骤

                2.2.1 手动实现封装的步骤

                1.修改属性的可见性属性来限制对属性的访问

                2.为每个属性创建一对赋值(setter)方法和取值(getter)方法,用于对这些属性的存取

                3.在赋值方法中可以添加对属性的存取控制语句

                2.2.2 自动实现封装的步骤

                idea提供了快捷添加getter()方法和setter()方法的操作,即在类中右击,选择"生成"选项,选择要添加的方法(取值方法、赋值方法或取值和赋值方法),之后选择要产生取值或赋值的字段,单击"ok"按钮即可在类中自动生成相关方法

3.类和类成员的访问控制(访问修饰符)

        3.1 类的访问修饰符

public同一包中可以使用非同一包中可以使用
默认修饰符同一包中可以使用非同一包中不可以使用

        3.2 类成员的访问修饰符

private同一类中可以使用同一包中不可以使用子类中不可以使用外部包不可以使用
默认修饰符同一类中可以使用同一包中可以使用子类中不可以使用外部包不可以使用
protected同一类中可以使用同一包中可以使用子类中可以使用外部包不可以使用
public同一类中可以使用同一包中可以使用子类中可以使用外部包可以使用

  • 33
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值