脚本宝典收集整理的这篇文章主要介绍了学习Java之day10,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
一、问题的引入: 当我们创建一个类的对象后,我们可以通过"对象.属性"的方式,对对象的属性进行复制。这里的赋值操作 要受到属性的数据类型和存储范围的制约。除此之外,没有其他制约。但是,在实际问题中,我们往往在给属性 赋值时加入额外的限制条件。这个限制就不能再声明属性时体现,我们只能通过方法进行限制条件的添加。 同时,我们需要避免用户通过"对象.属性"的方式对属性进行赋值。则需要给属性添加PRiavte。 --->此时,针对于属性就体现了封装性。
二、封装性的体现 我们将类的属性xxx私有化,同时对外提供public的方法getXxx()获取属性和setXxx()设置属性。 拓展:①如上 ②私有化的方法 ③单例模式
三、封装性的体现,需要权限修饰符的配合。 1.Java规定的四种权限修饰符(从小到大):private,缺省,protected,public 2.4种权限修饰符可以修饰类及类的内部结构:属性,方法,构造器,内部类 3.具体的,四种权限修饰符都可以修饰类的内部结构:属性,方法,构造,内部类 修饰类的就只能使用public 和 缺省的
修饰符 | 类内部 | 同一个包 | 不同包的子类 | 同一个工程 |
---|---|---|---|---|
private | Yes | | ||
(缺省) | Yes | Yes | ||
protected | Yes | Yes | Yes | |
public | Yes | Yes | Yes | Yes |
类的结构之三:构造器(构造方法、constructor)的使用 construct:建设,建造 constructor:建设者
一、构造器的作用: 1.创建对象 2.初始化对象的信息
二、说明: 1.如果没有显式的提供一个构造器,则系统会默认提供一个无参的构造器 2.定义构造器的格式:权限修饰符 类名(形参列表){方法体} 3.如果定义了多个构造器,那么彼此就会构成重载 4.一旦我们显式的定义了构造器后,系统就不会默认提供一个无参的构造器 5.一个类中,至少会有一个构造器。
总结:属性赋值的先后顺序 ①默认初始化 ②显式初始化 ③构造器初始化 ④通过"对象.属性"或"对象.方法"的赋值操作
以上操作的执行顺序:①--->②--->③--->④
JavaBean 是一种Java语言写成的可重用的组件
所谓的Javabean是符合如下Java标准的: ①类是公共的 ②有一个无参公共的构造器 ③有属性,且有对应的get,set方法。
this关键字的使用:
1.this可以用来修饰、调用:属性、方法、构造器
2.this修饰属性和方法: this理解为:当前对象 或 当前正在创建的对象
2.1 在类的方法中,我们可以通过"this.属性"或"this.方法"的方式,调用当前的属性和方法。 但是,通常情况下,我们都选择省略了"this."。特殊情况下,如果方法的形参和类的属性同名时,我们必须 显式的使用"this.变量"的方式,表明此变量是属性而非形参。 2.2 在类的构造器中,我们可以使用"this.属性"或"this.方法"的方式,调用当前正在创建的对象属性或方法。 但是,通常情况下,我们都选择省略"this."。特殊情况下,如果构造器的形参和类的属性同名时,我们必须显式 的使用"this.变量"的方式,表明此变量是属性,而非形参。
this调用构造器 ① 我们在类的构造器中,可以显式的使用"this(形参列表)"方式,调用本类中指定的其他构造器 ② 构造器中不能通过"this(形参列表)"方式调用自己 ③ 如果一个类中有n个构造器,则最多有 n - 1构造器中使用了"this(形参列表)" ④ 规定:"this(形参列表)"必须声明在当前构造器的首行 ⑤ 构造器内部,最多只能声明一个"this(形参列表)",用来调用其他的构造器
@H_276_406@一、package关键字的使用 1.为了更好的实现项目中类的管理,提供包的概念 2.使用package声明类或接口所属的包,声明在源文件的首行 3.包,属于标识符,遵循标识符的命名规则、规范(xxxyyyzzz)、“见名知意” 4.每"."一次,就代表一层文件目录。
补充:同一个包下,不能命名同名的接口、类 不同的包下,可以命名同名的接口、类。
二、import关键字的使用 import:导入
在源文件中显式的使用import结构导入指定包下的类、接口
声明在包的声明和类的声明之间
如果需要导入多个结构,则并列写出即可
可以使用"xxx.*"的方式,表示可以导入xxx包下的所有结构
如果使用的类或接口是java.lang包下定义的,则可以省略import结构
如果使用的类或接口是本包下定义的,则可以省略import结构
如果在源文件中,使用了不同包下的同名的类,则必须至少有一个类需要以全类名的方式显示
使用"xxx.*"方式表明可以调用xxx包下的所有结构。但是如果使用的是xxx子包下的结构,则仍需要显式导入
import static:导入指定类或接口中的静态结构:属性或方法。
以上是脚本宝典为你收集整理的学习Java之day10全部内容,希望文章能够帮你解决学习Java之day10所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。