变量
变量分为成员变量和局部变量而成员变量又分为实例变量和类变量;局部变量分为形参和方法局部变量。
成员变量也称属性。
成员变量
1.类属性的作用域与该类的生命周期相同
2.实例属性的作用域与其对应的实例的生命周期相同
语法
[<修饰符>][static][final]<变量类型><变量名>
其中注意static表示一个类的成员变量,即静态变量(静态变量由该类的所有实例对象共享的)。fianl表示一个常量。
隐藏和封装
目的
1.隐藏类的实现细节。
2.让使用者只能通过事先预定的方法访问数据库,从而可以在该方法中加入控制逻辑,限制对属性的不合理访问
3.可进行数据查询,保护对象信息的完整性。
4.便于修改,提高代码的可维护性
控制符
private>default>protected>public
1.private访问控制修饰的属性在同一个类中
2.default访问控制符的属性需要在同一个包中可以访问。
3.public访问控制符修饰的属性能够被不同的类访问。
static应用场景
因为static是被类的实例对象所共享,因此如果某个成员变量是被所有对象所共享的,那么这个成员变量就应该定义为静态变量。
因此比较常见的static应用场景有:
1、修饰成员变量 2、修饰成员方法 3、静态代码块 4、修饰类【只能修饰内部类也就是静态内部类】 5、静态导包
static注意事项
1、静态只能访问静态。 2、非静态既可以访问非静态的,也可以访问静态的。
this的用法在java中大体可以分为3种:
1.普通的直接引用,this相当于是指向当前对象本身。
2.形参与成员名字重名,用this来区分:
public Person(String name, int age) {
this.name = name;
this.age = age;
}
3.引用本类的构造函数
class Person{
private String name;
private int age;
public Person() {
}
public Person(String name) {
this.name = name;
}
public Person(String name, int age) {
this(name);
this.age = age;
}
}
构造方法
构造方法就是以类本身命名的方法,如果不去定义的话,本来无参的构造方法就默认是空方法。如果定义了有参数的构造方法,就一定也要去定义。
public class Example008 {
public static void main(String[] args) {
Person1 p1 = new Person1();
}
}
class Person1{
public Person1() {
System.out.println("已经调用了无参的构造方法");
}
}