JAVA笔记(九)--深入了解类

发布于 2021-05-08 12:31 ,所属分类:JAVA工程师开发学习资料

回顾:

1.方法参数:

1.参数列表为一个:

形参和实参值的问题;

2.参数列表为多个:

形参和实参一一对应;

3.参数列表为数组:

参数使用的时候判定空;

4.参数列表为对象:

使用判定空;对象所对应的类;

2.包的命名规范问题:

"."作为连接符号,但是不能为开头和结尾;

包名是域名的倒装加上项目名等组成;

问题:对象的属性可以直接去赋值操作,安全性低?

---------------------------------------------------

1.类图:

对于标准的UML类图,他的第一行表示类的名称,第二行是类的属性,也就是它的成员变量,第三行表示类的方法。当然,他们都是有可见范围的。在UML类图中,加号(+)表示具有公共可见性(public)。减号(-)表示私有可见性(private)。#号表示受保护的可见性(protected)。省略这些修饰符表示具有package(包)级别的可见性。如果属性或操作具有下划线,表明它是静态的。在操作中,可同时列出它接受的参数,以及返回类型,如图:


a. 属性前"+"表示public,"-"表示private,‘#’表示protected。

方法参数列表需要指定类型

b.绘制工具:

UML工具

在线绘制工具,比如 https://www.xiaopiu.com/

2.构造方法:

a.what:

特殊的方法,没有方法返回值

b.语法:

修饰符    方法名(参数列表){      方法体}

(***)构造方法没有返回值类型;

构造方法的方法名同所在的类名一致;

构造方法在同一个类中可以同时出现多个,但是每一个与其他之间的参数列表是不同---重载;

(*****):每一个类都有构造方法,如果人为给出指定构造方法该无参构造方法消失

建议:以后创建类的时候人为指定构造方法,即使是无参构造方法

c.作用:

完成初始化,可以使用该功能进行创建对象的时候直接给属性赋值

3.方法重载:

a.what:

在同一个类中,方法名相同,参数列表(参数个数,参数类型,类型顺序)不同都为重载,和返回值与修饰符无关;

(*)使用方便,一般方法重载在构造函数的使用体现最广;

class MyClass {    int height;        MyClass() {        System.out.println("无参数构造函数");                height = 4;        }    MyClass(int i) {        System.out.println("房子高度为 " + i + " 米");                height = i;        }    void info() {        System.out.println("房子高度为 " + height + " 米");        }    void info(String s) {        System.out.println(s + ": 房子高度为 " + height + " 米");        }}


4.this关键字:

this代表当前调用者这个对象本身

a.调用属性

this.属性

在构造函数的赋值中使用广泛

b.调用方法:

this.方法();

c.调用构造函数

this(); 表示该对象的无参构造方法

this(name); 表示该对象的该参数的构造方法;

5.static关键字:

static修饰的变量为静态变量;

static修饰的方法为静态方法;

静态方法只能调用静态方法和静态变量;

动态方法可以调用静态方法和动态方法,也可以调用静态变量和动态变量;

在其他类中调用:

类名.静态方法;

对象.静态方法;

对象.动态方法;

相关资源