修饰符
- 静态类 static 需尤其注意
- 静态变量(static)被类中的所有对象所共享。静态方法不能直接访问类中的实例成员(即实例数据域和方法),要想访问必须先创建一个对象,通过对象.属性来访问,但可以访问其它的静态方法。方法如下:
public class Test { private int n,x; public void setX(int x) { this.x = x; } static int visit() { n = 5;// 该方式会报错,无法访问 setX(3);// 该方式会报错,无法访问 } }
static int visit() { //先创建一个对象,再间接通过对象访问非静态量就不会报错 Test t = new Test(); t.n = 5; t.setX(3); }
- static 不可以定义在方法内,不能作为局部变量
- 静态方法内不可以使用 this 和 super ,this 也不能调用静态变量或方法
构造方法
- 由new调用
- 无返回值,不能加void
- 可以有多个,相互补充
- 与所在类的名字相同
- 没有定义时,会自动提供
数据域封装
使用 private 修饰符将数据域声明为私有。客户要访问就只能通过 获取(getter)或设置(setter)方法来返回。
- 除特别原因之外,所有的数据域都应该被声明为私有的,并且所有的构造方法和方法应该被声明为公有的。
- 可以防止数据被篡改以及使得类更易于维护。
this 引用
1、this 引用数据域
this.name = name;
2、this 调用构造方法
public Circle(double radius) {
this.radius = radius;
}
public Circle() {
this(1.0);
}
第二个构造方法中的 this 就调用了第一个构造方法。
- this 方法必须出现在构造器的第一行,用来调用其他的重载构造器。
- 优点是一个构造器可以不用重复编写其他构造器中已经有的代码,通过调用其他构造函数来实现复用。