Dawn's Blogs

分享技术 记录成长

0%

Java基础 (3) 类属性方法和构造器

Java 类及其类的成员:属性、方法、构造器;代码块、内部类。

面向对象的三大特性:封装、继承、多态。

this package import 关键字

this

this 表示当前对象

  • 使用 this 访问属性和方法时,如果在本类中没有找到,会从父类中查找。
  • this(xxx) 表示调用当前类的构造器,可以用于构造器的相互调用(这个语句必须在构造器的首行)。

package

package 用于声明所在的包。作用:

  • 把功能相似或相关的类或接口组织在同一个包中,方便类的查找和使用。
  • 如同文件夹一样,包也采用了树形目录的存储方式。

import

import 用于导入包中的某个成员

  • import static xx.xxx.xx 表示导入指定类或者接口的静态结构
  • 需要使用不同包下的重名类,只能补全包名(全类名)
1
2
3
4
5
6
import yy.y.ClassName

// ...

// 已经 import 了 ClassName,现在要使用重名的类,需要不全包名
xxx.xxx.packagename.ClassName cn = new xxx.xxx.packagename.ClassName()

属性

属性即为成员变量。

属性和局部变量的区别

成员变量局部变量的区别:

image-20221120125817158

方法

方法重载

重载:在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型不同即可。

1
2
3
4
5
int add(int x, int y) { return x+y; }

int add(int x, int y, int z) { return x+y+z; }

int add(double x, int y, double z) { return x+y+z; }

可变参数

在 JDK 5.0 以前,采用数组形参来定义方法,传入多个同一类型的参数变量:

1
public static void test(int a, String[] books);

从 JDK 5.0 开始,采用可变个数的形参来定义方法:

1
public static void test(int a, String... books);
  • 声明格式:方法名 (参数类型... 参数名)
  • 方法的参数部分有可变形参,需要放在形参声明的最后
  • 在一个方法的形参位置,最多只能声明一个可变个数形参。

方法参数的值传递机制

Java 中的参数传递方法只有一种:值传递,将实际参数值的副本传入方法内。

  • 形参是基本数据类型:将数值传给形参。
  • 形参是引用和数据类型:将地址传给形参。

构造器

构造器用于创建对象,给对象进行初始化。

  • 构造器与类名相同
  • 默认构造器的修饰符与所属类的修饰符一致
  • 一个类可以创建多个重载的构造器。
  • 父类的构造器不可被子类继承

构造器重载

构造器重载使得对象的创建更加灵活。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
public class Person {
private String name;
private int age;
private Date birthDate;

public Person(String n, int a, Date d) {
name = n;
age = a;
birthDate = d;
}

// 构造器重载
public Person(String n, int a) {
name = n;
age = a;
}

// 构造器重载
public Person(String n) {
name = n;
}
}