JavaBean、UML类图、this的使用

Javabean

什么是JavaBean

JavaBean是一种Java语言写成的可重用组件
JavaBean是指符合以下标准的Java类

  1. 类是公共的
  2. 有一个无参的公共的构造器
  3. 有属性,且对应的get、set方法

JavaBean的作用

用户可以使用JavaBean将功能、处理、值、数据库的访问和其他任何可以用java代码创造的对象进行打包。用户可以认为JavaBean提供了一种随时随地的复制粘贴的功能,而不用关心任何变化。

JavaBean实例

public class UserInformation {
    private int id;
    private String name;
    public UserInformation(){
        
    }
    public void setId(int i){
        id=i;
    }
    public void setName(String n){
        name=n;
    }
    public int getId(){
        return id;
    }
    public String getName(){
        return name;
    }
}

UML类图

UML类图图解

this

this的引用是为了解决形参和属性相同时存在的问题,例子如下:

class Person{
    private int age;
    private String name;
    public Person(int age,String name){
        age = age;
        name = name;
    }
    public void show(){
        System.out.println("年龄为"+age);
        System.out.println("名字为"+name);
    }
}
/*运行结果为
年龄为0
名字为null
*/

为了解决上述问题,我们引入this,实例如下:

public class test {
    public static void main(String[] args){
        Person person=new Person(10, "test");
        person.show();
    }
}

class Person{
    private int age;
    private String name;
    public Person(int age,String name){
        this.age = age;
        this.name = name;
    }
    public void show(){
        System.out.println("年龄为"+age);
        System.out.println("名字为"+name);
    }
}
/*运行结果为
年龄为10
名字为test
*/

this在此处指的是当前对象

this调用构造器

使用this调用构造器可以减少代码的重复部分

public class test {
    public static void main(String[] args){
        Person person=new Person(10, "test");
        person.show();
    }
}

class Person{
    private int age;
    private String name;
    public Person(){
        //检测年龄是否小于等于200,如果大于200判断为非法数据
        if (age>200){
            System.out.println("false data");
        }
        else{
            System.out.println("true data");
        }
    }
    public Person(int age,String name){
        this();
        this.age = age;
        this.name = name;
    }
    public void show(){
        System.out.println("年龄为"+age);
        System.out.println("名字为"+name);
    }
}
/*运行结果为
true data
年龄为10
名字为test
*/

如果想调用的构造器是有形参的而非空参,则带入形参进行传递,即:this(形参)

  1. 我们在类的构造器中,可以显示的使用"this(形参列表)"的方式,调用本类中指定的其他构造器
  2. 构造器中不能通过this方式调用自己
  3. 如果一个类中有n个构造器,则最多有n-1构造器中使用了this
  4. 规定this必须声明在当前构造器的首行
  5. 构造器内部,最多只能声明一个this来调用其他构造器
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值