封装是面向对象的三大特征之一。
面向对象的三大特征:封装、继承、多态
类 = 属性 + 方法,类是对属性和方法的封装。类封装了类的成员。
如果在类的外部可以随意访问类的成员,那将属性和方法放到类中就没有意义了。因此Java允许在类中通过访问修饰符控制类成员的访问权限
private | 默认 | protected | public | |
同一个类中 | 是 | 是 | 是 | 是 |
相同包中的其他类 | 否 | 是 | 是 | 是 |
子类(不同包、相同包) | 否 | 否 | 是 | 是 |
全局(所有包) | 否 | 否 | 否 | 是 |
访问范围: 本类 < 本包 < 子类 < 全局(所有包)
访问修饰符:private < 缺省(default) < protected < public
封装的通常做法:
(1)将类的属性的访问权限设置为private,提供访问权限为public的set和get方法。在有些情况下不提供set和get方法,有时只提供其中的一个。
(2)提供合理的构造方法,即开发相应参数的构造方法,方便实例化对象。
(3)类的全部或部分方法的访问权限为public,类的公有方法是类对外开放的接口,供外部代码使用类的功能。类的私有方法通常是辅助方法实现部分功能,供类的公有方法调用。
包与访问范围
(1)包的概念
类通常位于某个包中,包(packages)是多个类的容器。它们用于保持类的名称空间相互隔离。因此包是一种名称机制。
层次化的包
package com.xszx.sjt2111
包与目录结构
位于包中的类,在文件系统中也必须有与包名层次相同的目录结构。
需要指出的是,包名与文件目录结构一致是针对.class文件而言的,对于源代码文件没有这一要求,但是通常也将源代码文件放到与包名一致的目录结构中。并且建议将源文件与类文件分开存放。
方法重载基础:
在类中可以定义名称相同的方法:只要形参列表不同即可。
特点:
1、方法名相同
2、形参列表不同:形参的类型/顺序、形参的个数
注意的地方:
1、返回值在区分重载方法时不起作用。修饰符也不起作用
2、当调用重载方法时,Java使用参数的类型和/或数量确定实际调用哪个版本。
在某个构造方法中可以使用this()调用重载的构造方法:
public Box(double dim){
}
标签:封装,形参,构造方法,面向对象,访问,JAVA,方法,public,三大 From: https://blog.csdn.net/weixin_59369438/article/details/139798067