【Java】P13 JavaBean + UML类图 + this关键字
创始人
2025-05-30 21:31:35
0

JavaBean + UML类图 + this关键字

  • 什么是 JavaBean
  • UML 类图
  • this 关键字
    • this 调用属性和方法
    • this 调用类的构造器
  • 例题


什么是 JavaBean

JavaBean 是一种 Java语言写成的可重用的组件;

所谓 JavaBean,是指符合如下标准的 Java类:

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

用户可以使用 JavaBean将功能、处理、值、数据库访问和其他任何用Java代码创造的对象进行打包,并且其他的开发者可以通过内部的JSP页面、Servlet、其他JavaBean、applet程序或者应用来使用这些对象。


UML 类图

常用的UML软件包含:PowerDesigner

在这里插入图片描述


this 关键字

使用 this 修饰的变量,表示的是属性;没有使用 this 修饰的,表示的是形参;

this 可以调成员变量、方法、构造器;


this 调用属性和方法

一般情况: 我们通过对象a调用方法,可以在方法内调用当前对象a的属性或其他方法。此时,我们可以在属性和其他方法前使用 “this.”,表示当前属性或方法所属的对象a。但是,在一般情况下,我们都选择省略 “this.” 结构;

特殊情况: 如果方法的形参与对象的属性同名了,我们必须使用 “this.” 进行区分。使用 “this.” 修饰的变量即为属性,没有使用 “this.” 修饰的变量,即为局部变量;

public void setAge(int age){this.age = age;
}
public Person(String name, String email){this.name = name;this.email = email;
}

this 调用类的构造器

格式:“this(形参列表)”
我们可以在类的构造器中,调用当前类中指定的其他的构造器;
要求:“this(形参列表)” 必须声明在当前构造器的首行;
结论:“this(形参列表)” 在每个构造器中最多声明一个;

public User(){// 模拟对象创建时,需要初始化50行代码。
}
public User(String name){this();		// 调用类的构造器User()this.name = name;
}
public User(String name, int age){this(name);		// 调用类的构造器User(String name)this.age = age;
}

例题

在这里插入图片描述

public class Boy {// 定义属性private String name;private int age;// 定义 getter setterpublic 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 Boy(){}public Boy(String name, int age){this.name = name;this.age = age;}// 定义方法public void marry(Girl girl){System.out.println("我想娶" + girl.getName());}public void shout(){System.out.println("呐喊");}
}
public class Girl {// 定义属性private String name;private int age;// 定义构造函数public Girl() {}public Girl(String name, int age){this.name = name;this.age = age;}// 定义 getter setterpublic void setName(String name){this.name = name;}public String getName(){return name;}// 定义方法public void marry(Boy boy){System.out.println("我想嫁给" + boy.getName());boy.marry(this);}// 比较两个Girl对象的大小(根据属性进行比较)public int compare(Girl girl){if(this.age > girl.age){return 1;}else if(this.age < girl.age){return -1;}else{return 0;}}
}
public class BoyGirlTest {public static void main(String[] args){Boy boy1 = new Boy("杰克", 24);Girl girl1 = new Girl("朱丽叶", 20);girl1.marry(boy1);Girl girl2 = new Girl("肉丝", 24);int compare = girl1.compare(girl2);if(compare > 0){System.out.println(girl1.getName() + "大");}else if(compare < 0){System.out.println(girl2.getName() + "大");}else{System.out.println("一样大");}}
}

备注: getset 以及 构造函数 的快捷键是 alt+insert


相关内容

热门资讯

开学第一课心得体会最新或202...   开学第一课心得体会:爱国之情  今天看了最新或2023(历届)《开学第一课》,我的心中不禁涌起澎...
最新或2023(历届)秋季开学...   【第一篇】  最新或2023(历届)开学第一课:英雄不朽节目现场,TFBOYS宣读《少年自强宣言...
最新或2023(历届)秋季cc...   最新或2023(历届)秋季cctv1开学第一课英雄不朽心得体会1  《开学第一课》描写了许多耳熟...
最新或2023(历届)秋季央视...   最新或2023(历届)秋季央视开学第一课英雄不朽心得体会1  今天我看了以英雄不朽为主题的《开学...
最新或2023(历届)小学生观...   【篇1】  以“英雄不朽”为主题的《开学第一课》节目贯穿了“爱国、勇敢、团结、自强”四个主题词。...
Flutter内阴影 前言 在前几天的业务需求中,UI给出的页面中有新拟态的按钮,就是带内部阴...
开学第一课最新或2023(历届...   开学第一课最新或2023(历届)英雄不朽观看心得体会【1】  这一期的《开学第一课》讲述的是抗日...
最新或2023(历届)观看开学...  最新或2023(历届)观看开学第一课直播心得体会1  今天,看了开学第一课,本次的主题是英难。我想...
开学第一课英雄不朽观后感200...  1.最新或2023(历届)《开学第一课》“英雄不朽”观后感  今天我看了以“英雄不朽”为主题的《开...
最新或2023(历届)看开学第...  最新或2023(历届)看开学第一课英雄不朽心得体会【1】  最新或2023(历届)《开学第一课》于...
最新或2023(历届)看央视《...   最新或2023(历届)看央视《开学第一课》心得体会1  今晚央视二套开播《开学第一课》。全国2....
H5CSS3第一课——CSS选... hello,时隔一年多,我再次回归了,在之前的公司因为保密协议过于严格&...
MM MIGO BAPI BA... 原文链接:https://blog.csdn.net/IamRunjiang/arti...
VR全景展会丨探索未来,重塑现... 随着科技的不断发展,虚拟现实(VR)技术逐渐成为一个重要的...
最新或2023(历届)关于开学...   1.《开学第一课》英雄不朽观后感  最新或2023(历届)9月4日,中央一台播放了由中华人民共和...
最新或2023(历届)开学第一...   《开学第一课》观后感1  今天晚上,我和爸爸妈妈怀着激动的心情,准时收看了《开学第一课》。今年是...
最新或2023(历届)开学第一...   第1篇:开学第一课英雄不朽观后感  今天,我看了开学第一课《英雄不朽》。  开学第一课一共有四节...
最新或2023(历届)开学第一...  1.英雄不朽观后感400字作文  我看了9月4日中央1套的《开学第一课》,知道了从1937年上海因...
最新或2023(历届)开学第一...   1.英雄不朽观后感作文300字  我看了9月4日中央1套的《开学第一课》,知道了从1937年上海...
超实用!!! 三分钟将你的项目... 文章目录前言一、在项目中新增配置二、配置github page setting?三、如...