这一节都是零零碎碎的语法
1、吐槽Java中没有属性的语法。 2、JavaBean官方规范100多页。
Chain Setter
现在流行一种“链式编程”的风格。
public class Person {
private int age;
private String name;
public int getAge() {
return age;
}
public Person setAge(int age) {
this.age = age;
return this;
}
public String getName() {
return name;
}
public Person setName(String name) {
this.name = name;
return this;
}
}
用起来更简单
Person p1 = new Person().setName("杨中科").setAge(18);
分析对象关系。
这种方式不符合JavaBean规范,因为规范要求setter方法返回值必须是void。因此部分“死板”的框架不支持这种写法。
Lombok只是提一句,不演示,因为过早学习这些傻瓜化的东西对初学者不是好事。而且有的公司禁用。 吐槽:Java语法规范不要这样死板,否则就要 步C++后尘。
笔记
JAVAVBEAN就是规范Java中的属性的语法,不按照 JAVABEAN也没事,这就相当于一个潜规则
JavaBean主要规则
1、必须是public类;
2、成员变量用private,通过public的setter、getter方法访问。
3、也可以只提供 getter 方法,这样的属性叫只读属性;也可以只提供 setter 方法,这样的属性叫只写属性; 如果getter/setter 都有,就叫可读可写属性。 举一个例子。
标准的javabean语法
package part3; public class Cat { private int age; private String name; public void setAge(int age)//写 { this.age=age; } public int getAge()//读 { return this.age; } public void setName(String name) { this.name=name; } public String getName() { return this.name; } }
Chain Setter链式编程(简化--但不符合javabean规范),就是把void改为类名
调用时
Cat c=new Cat().setAge(18).setName("花花").setHeigtht(12);
相当于
相当于Cat c=new Cat(); //Cat c1=c.setAge(18) //Cat c2=c.setName("花花") //Cat c3=c.setAge(12)
自动化生成get,set方法步骤
1.右击生成
可以选中你要生成的方法
选中要生成的对象
这个生成的是标准的javabean语法
注意(在哪里点右键,在哪里生成)
这个是链式编程
插件--Lombok 缺点:依赖于插件,像别人导入你写的代码但是他没有安装Lombok插件,所以会报一团错误。
只需要在顶部输入@Data,导入一下
这是第三方插件
这样可以直接使用set和get方法