(一)访问修饰控制符
public:对所有类都可见,可使用对象:类、接口、变量、方法。
private:在同一类可见,可使用对象:变量、方法。不可修饰外部类。
protected:对同一包内的所有类和所有子类可见,可使用对象:变量、方法。不可修饰外部类。
default(默认什么都不写):在同一包内可见,不使用任何修饰符。可使用对象:类、接口、变量、方法。
1、默认访问修饰符(default)
Myclass 类和它的成员变量 x 和方法 display() 都使用默认访问修饰符进行了定义。MyOtherclass 类在同一包中,因此可以访问 MyClass 类和它的成员变量和方法。
2、私有访问修饰符(private)
package com.edu.jsu;
public class Person {
String name;
private int age;
public void show(){
System.out.println("我叫"+name+"今年"+age+"岁了");
}
public void setAge(int num){
if(num<=100&&num>=0){
age=num;
show();// 在设置年龄后立即调用show方法展示更新后的年龄信息
}else{
System.out.println("数据不合理");
}
}
public int getAge(){
return age;
}
}
package com.edu.jsu;
public class Reperson {
public static void main(String[] args){
Person stu=new Person();
stu.name="小黑";
stu.setAge(18);
}
}
(二)非访问修饰符
-
static(静态修饰符):用于创建类方法和类变量。静态方法和变量属于类本身,而不是属于类的实例。可以直接通过类名访问静态成员,而不需要创建类的实例。
(1)、静态方法(类变量)
public class Variable {
static int count;//静态变量
public static void main(String[] args){
count=9;//直接访问静态变量
System.out.println(count);//输出9
}
}
(2)、静态方法(类方法)
静态方法可以直接通过类名调用,无需创建类的实例。静态方法只能访问静态变量和调用其他静态方法。
public class Hello {
static void print(){//静态方法
System.out.println("Hello World!");
}
public static void main(String[] args){
print();//直接调用静态方法
}
}
-
final(最终修饰符):表示该成员(变量、方法或类)是最终的,即不可改变的。对于变量,一旦赋值后就不能再修改;对于方法,表示方法不能被子类重写;对于类,表示类不能被继承。
-
abstract(抽象修饰符):用于创建抽象类和抽象方法。抽象类不能被实例化,只能作为父类被继承,而抽象方法必须在子类中被实现。
(三)控制与继承
1、父类中声明为 public 的方法在子类中也必须为 public。
2、父类中声明为 protected 的方法在子类中要么声明为 protected,要么声明为 public,不能声明为 private。
3、父类中声明为 private 的方法,不能够被子类继承。