20220719 第九组 张嘉源 学习笔记
一、笔记
访问权限修饰符
public
共有的,公共的 权限最大,只要是public声明的方法,只要在同一个工程中,都能用。
可以放在类、属性、方法、构造器上
protected
受保护的:可以跨包,如果跨包必须是它的子类
可以放在属性、方法、构造器上
default
默认的(啥也不写),只有当前包下可以访问(把包导进来也不行)
可以放在类、属性、方法、构造器上
private
私有的 权限最小,只有在当前类才能用
可以放在属性、方法、构造器上
构造器
语法:访问权限修饰符 类名(参数列表){ }
特点(特性):
1.Java在new对象的时候,先看对象所对应的类有没有构造器,有的话有什么样的构造器;如果没有构造器,则无法构建对象(创建对象)
2.每个类会有一个默认的无参的构造器
3.在对象被实例化时调用了构造器
4.我们创建对象实际上是通过构造器创建的
5.如果一个类中显示的声明了一个构造器,原来默认自带的无参构造器就失效(被覆盖)。如果有多个构造器,必须重载。
this关键字
this代表的是当前类的对象,this代表的是当前方法的调用者,当使用对象调用属性时,调用的是成员变量,this既然是代表方法的调用者,它实际上和对象的作用是一样的,既可以调属性,也可以调方法
this调用构造器的要求:
1.必须在构造器中使用this调用构造器
2.必须在第一行代码
this不能用在static方法中,开发中,通常用this赋值,尤其是构造器。
封装
(1)属性私有化,所有的属性都要使用private封装
(2)提供一个共有的set,get方法
getter方法能够按照客户的期望返回格式化的数据
setter方法可以限制和检验setter方法传入的参数是否合法
隐藏对象的内部结构
正确定义一个类要求:
(1)所有的属性私有化
(2)每个属性都有对应的setter、getter方法
封装步骤
1.修改属性的可见性来限制对属性的访问(一般限制为private),例如:
public class Person {
private String name;
private int age;
}
这段代码中,将 name 和 age 属性设置为私有的,只能本类才能访问,其他类都访问不了,如此就对信息进行了隐藏。
2.对每个值属性提供对外的公共方法访问,也就是创建一对赋取值方法,用于对私有属性的访问,例如:
public class Person{
private String name;
private int age;
public int getAge(){
return age;
}
public String getName(){
return name;
}
public void setAge(int age){
this.age = age;
}
public void setName(String name){
this.name = name;
}
}
采用 this 关键字是为了解决实例变量(private String name)和局部变量(setName(String name)中的name变量)之间发生的同名的冲突。
浙公网安备 33010602011771号