1.包
导包
- 使用不同包下的类时,使用的时候要写类的全路径,太麻烦了。
cn.yi.Teacher t=new cn.yi.Teacher();
- 为了简化带包的操作,Java就提供了导包的功能。
- 格式:import 包名;
- 范例:import cn.yi.Teacher
2.权限修饰符
3.状态修饰符
final
final关键字是最终的意思,可以修饰类、成员变量、成员方法。
final修饰的特点:
- 修饰类:表明该方法是最终类,不能被继承
public final class Fu { public void show(){ System.out.println("show方法被调用"); } }
public class Zi extends Fu{//报错 public void show(){ public int age=10; public void show(){ age=20; System.out.println(age); } } }
- 修饰变量:表明该变量是常量,不能再次被赋值
public class Zi extends Fu{ public final int age=10; public void show(){ age=20;//报错 System.out.println(age); } }
- 修饰方法:表明该方法是最终方法,不能被重写
public class Fu { public final void show(){ System.out.println("show方法被调用"); } }
public class Zi extends Fu{ public int age=10; public void show(){//报错 age=20; System.out.println(age); } }
final修饰局部变量
- 变量是基本类型: final 修饰指的是基本类型的数据值不能发生改变。
- 变量是引用类型: final 修饰指的是引用类型的地址值不能发生改变,但是地址里面的内容是可以发生改变的。
Student.java
public class Student {
public int age=19;
}
FinalDemo.java
public class FinalDemo {
public static void main(String[] args) {
//final修饰基本类型变量
final int age=20;
// age=100;//数据值不能发生改变
System.out.println(age);
//final修饰引用类型变量
final Student s=new Student();
s.age=100;
System.out.println(s.age);
// s=new Student();//地址值不能发生改变
}
}
static
- static关键字是静态的意思,可以修饰成员变量、成员方法。
- static修饰的特点:
- 被类的所有对象共享(这也是我们判断是否使用静态关键字的条件)
- 可以通过类名(推荐使用)、对象名调用
Student.java
public class Student {
public String name;
public int age;
public static String university;//静态成员变量
public void show(){
System.out.println(name+","+age+","+university);
}
}
StaticDemo.java
public class StaticDemo {
public static void main(String[] args) {
Student.university="北京大学";//类名调用成员变量
Student s1 = new Student();
s1.name="林青霞";
s1.age=30;
// s1.university="北京大学";
s1.show();
Student s2 = new Student();
s2.name="风清扬";
s2.age=40;
// s2.university="北京大学";
s2.show();
}
}
static访问特点
- 静态成员方法只能访问静态成员。
- 非静态成员方法既能访问静态成员,又能访问非静态成员。
public class Student {
//非静态成员变量
private String name="林青霞";
//静态成员变量
private static String university="北京大学";
//非静态成员方法
public void show1(){
}
public void show2(){
System.out.println(name);//访问非静态成员变量
System.out.println(university);//访问静态成员变量
show1();//访问非静态成员方法
show3();//访问静态成员方法
}
//静态成员方法
public static void show3(){
}
public static void show4(){
// System.out.println(name);
System.out.println(university);//访问静态成员变量
// show1();
show3();//访问静态成员方法
}
}