封装
**封装简单理解就是:**别人帮我们实现好了,我们只需要找来这个对象,就可以调用这个对象中实现好的功能
封装使用方法
private的使用:
-
修饰成员变量:private 数据类型 变量名
-
修饰方法:private void…
get/set方法的使用:
- set方法:为属性赋值
- get方法:获取属性值
方法模板
//为name提供get/set方法
public void setName(String xingMing) {
name = xingMing;
}
public String getName() {
return name;
}
//方法调用
public class Test {
public static void main(String[] args) {
Person person = new Person();
person.setName("人人人");
String name = person.getName();
System.out.println(name);
}
}
this关键字
-
如果成员变量和精神变量重名时,遵循"就近原则",先访问局部变量
public class Person { String name; public void speak(String name){ System.out.println(this+"........"); System.out.println(name+"您好,我是"+name); } } public class Test01 { public static void main(String[] args) { Person person = new Person(); System.out.println(person+"========="); person.name = "沉香"; person.speak("刘彦昌"); } }
-
作用:
- this可以区分重名的成员变量和局部变量
- this点出来的一定是成员的变量
改造get/set方法
public class Person {
private String name;
private int age;
public class Person {
private String name;
private int age;
//为name提供get/set方法
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
//为age提供get/set方法
public void setAge(int age) {
this.age = age;
}
public int getAge() {
return age;
}
}
public class Test01 {
public static void main(String[] args) {
Person person = new Person();
person.setName("涛哥");
person.setAge(16);
System.out.println(person.getName()+"..."+person.getAge());
}
}
构造方法
1.概述:方法名和类名一致并且初始化对象的方法
2.分类:
- 无参构造:没有参数
- 有参构造:有参数,参数是为指定的属性赋值
- 满参构造:给所有属性赋值
特点:
- 方法名和类名一致
- 没有返回值
空参构造
1.格式:
public 类名(){
}
2.作用:
new对象使用
3.特点:
每个类中默认都有一个无参构造,不写也有,jvm会自动提供
4.使用:一new对象就是在调用构造方法
有参构造
1.格式:
public 类名(形参){
为属性赋值
}
2.作用:
a.new对象
b.为属性赋值
3.特点:
jvm不会自动提供有参构造,但是将有参构造手写出来,jvm将不再提供无参构造,所以建议有参,无参的构造都手写上去
如何快速知道调用的成员:
按住ctrl不放,鼠标点击对应的成员 -> 会跳到对应的位置
public class Person {
private String name;
private int age;
//无参构造
public Person(){
System.out.println("我是无参构造");
}
//有参构造
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;
}
}
public class Test01 {
public static void main(String[] args) {
Person person = new Person();
Person person2 = new Person("涛哥", 18);
System.out.println(person2.getName()+"..."+person2.getAge());
}
}
标准的javabean
JavaBean 是 Java语言编写类的一种标准规范。符合
JavaBean` 的类,要求:
(1)类必须是具体的(非抽象 abstract)和公共的,public class 类名
(2)并且具有无参数的构造方法,有参构造
(3)成员变量私有化,并提供用来操作成员变量的set
和get
方法。
编写符合JavaBean
规范的类,以学生类为例,标准代码如下:
public class Student {
private int sid;
private String sname;
public Student() {
}
public Student(int sid, String sname) {
this.sid = sid;
this.sname = sname;
}
public int getSid() {
return sid;
}
public void setSid(int sid) {
this.sid = sid;
}
public String getSname() {
return sname;
}
public void setSname(String sname) {
this.sname = sname;
}
}
快速生成标准javabean
快速生成标准javabean通用快捷键:alt+insert
- 生成无参构造:按两次tab键
- 生成有参构造:按住ctrl不放,鼠标选择属性
- 生成get/set方法;