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修饰的方法为静态方法;
静态方法只能调用静态方法和静态变量;
动态方法可以调用静态方法和动态方法,也可以调用静态变量和动态变量;
在其他类中调用:
类名.静态方法;
对象.静态方法;
对象.动态方法;
相关资源