类及其常见修饰符
A:修饰符
- 权限修饰符 private 默认的,protected,public
- 状态修饰符 static,final
- 抽象修饰符 abstract
B:类
- 权限修饰符 默认的,public
- 状态修饰符 final
- 抽象修饰符 abstract
C:成员变量
- 权限修饰符 private 默认的,protected,public
- 状态修饰符 static,final
D:构造方法
- 权限修饰符 private 默认的,protected,public
E:成员方法:
- 权限修饰符:private,默认的,protected,public
- 状态修饰符:static,final
- 抽象修饰符:abstract
F:除此以外的组合规则:
- * 成员变量:public static final
- * 成员方法:
- * public static
- * public abstract
- * public final
内部类访问特点
- a:内部类可以直接访问外部类的成员,包括私有。
- b:外部类要访问内部类的成员,必须创建对象。
- 外部类名.内部类名 对象名 = 外部类对象.内部类对象;
案例演示
public class test {
public static void main(String[] args) {
// TODO Auto-generated method stub
Outer.Inner io = new Outer().new Inner();
io.print();
}
}
class Outer{
public int num = 10;
public class Inner{
public int num = 20;
public void print() {
int num = 30;
System.out.println(num);
System.out.println(this.num);
System.out.println(Outer.this.num);
}
}
}
output:
30
20
10
- 静态类及其方法访问
public class test2 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Outer.Inner oi = new Outer.Inner();
oi.method();
Outer.Inner2.method2(); //静态方法调用
}
}
class Outer{
static class Inner{
public void method() {
System.out.println("method");
}
}
static class Inner2{
public static void method2() {
System.out.println("method2");
}
}
}
- 私有类及其访问特点
public class test1 {
public static void main(String[] args) {
Outer oi = new Outer();
oi.print();
}
}
class Outer{
private int num = 30;
private class Inner{
private int num = 20;
private void method() {
System.out.println(num); //20
System.out.println(Outer.this.num); //30
}
}
public void print() {
Inner inner = new Inner();
inner.method();
}
}
匿名类
。。。未完待续