ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Java学习笔记:JavaBean

2022-01-29 20:02:23  阅读:252  来源: 互联网

标签:Java name age 笔记 Cat return public JavaBean String


这一节都是零零碎碎的语法

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方法 

 

 

 

 

 

 

 

 

标签:Java,name,age,笔记,Cat,return,public,JavaBean,String
来源: https://blog.csdn.net/weixin_64612659/article/details/122746202

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有