1.封装的介绍以及使用
java中的封装:将一段代码打包装起来,外界不能直接使用这段代码,但是需要对外提供一个公共的接口,供外界间接使用这段封装起来的代码
就是将细节隐藏起来(不让外界直接访问),对外提供公共的接口(让外界通过接口间接访问封装起来的代码)
封装体现:
a.将一段代码放到方法内部 -> 方法名就是对外提供的公共接口
b.将成员变量,方法 ->用 private修饰
private关键字:
a.概述:代表的是私有权限,是一个权限修饰符
b.作用:被private修饰的成员,只能在本类中使用,在别的类中使用不了
c.使用:
修饰成员变量:private 数据类型 变量名
修饰方法:将之前的方法public 改成 private
操作私有属性的方法:
a.setxxx():为属性赋值
b.getxxx():获取属性值
public class Student {
private String name; //通过private关键字,将属性私有化
private int id; //通过private关键字,将属性私有化
public Student() {
}
public String getName() { //定义返回当前类中的name属性值的公共方法getName
return name;
}
public void setName(String name) { //定义修改当前类中的name属性值的公共方法setName
this.name = name;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public Student(String name, int id) {
this.name = name;
this.id = id;
}
}
public class Test02 {
public static void main(String[] args) {
Student st = new Student();
st.setName("战鹰");
st.setId(1);
String name = st.getName();
System.out.println("name = " + name);
int id = st.getId();
System.out.println("id = " + id);
}
}
2.this的介绍
概述:代表的是当前对象
哪个对象调用的this所在的方法,this就代表哪个对象
当成员变量和局部变量重名时,会遵循"就近原则",先访问局部变量
this的作用:区分重名的成员变量和局部变量-> this.的就是成员变量
因为this代表一个对象,对象点的肯定是成员变量,对象不能直接访问局部变量
3.构造方法
1.主要作用:创建对象,初始化对象中的属性
2.特点:
a.构造方法的方法名和类名一致
b.构造方法没有返回值,连void都没有
c.构造方法一new就相当于调用了,就直接执行了
3.1空参构造
1.格式:
public 类名(){
}
public class Person {
public Person(){ //这是一个空参构造
}
}
2.作用:
new对象使用
public class Test01 {
public static void main(String[] args) {
//类名 对象名 = new 类名()
Person p = new Person();
}
}
3.特点:
a.每个类中都默认有一个空参构造,即使不写,jvm也会提供一个
3.2有参构造
1.格式:
public 类名(形参){
为属性赋值
}
public class Person {
private String name;
private int age;
public Person(String name,int age){
this.name = name;
this.age = age;
}
}
2.作用:
a.new对象
b.为属性赋值
3.注意:
如果写了有参构造,jvm将不再提供无参构造了,所以建议都写上
4.标准JavaBean
JavaBean是 Java语言编写类的一种标准规范。符合
JavaBean` 的类,要求:
(1)类必须是具体的(非抽象 abstract)和公共的,public class 类名
(2)并且具有无参数的构造方法
(3)成员变量私有化,并提供用来操作成员变量的set
和get
方法。
public class Person {
private String name;
private int age;
/**
* 空参构造
*/
public Person(){
}
/**
*有参构造
*/
public Person(String name,int age){
this.name = name;
this.age = age;
}
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setAge(int age) {
this.age = age;
}
public int getAge() {
return age;
}
}
通用快捷键: alt+insert -> alt+fn+insert