全新java初学者实践教程19(java SE5.0)--基本语法7- 访问控制和内部类
2007-10-03 12:45
826 查看
[align=left] 今天我们再来学习一下java语言的基本语法,这节我们讲访问控制和内部类。访问控制这种语法在前面的学习中,已经经常见过了。像是public(公有的),private(私有的)。大家按照字面理解就能知道了,公有的就是谁都可以用,私有的就是只有自己的类内部可以用。不过访问控制一共有4个,public(公有的),protected(受保护的),default(默认的,就是没有修饰符),private(私有的)。我们用一个图表示他们的权限:[/align]
Access Levels
权限修饰符,可以修饰类,方法和属性。而表达的意思与上表一致。有些注意的地方:类的权限不可以用private,你们想如果写一个类是private,谁也不让用写它干嘛;抽象方法的权限不可以是private和default。因为抽象方法一定要子类来实现的,子类都不可以用,抽象方法当然也没有意义了。
[align=left]内部类是我们以前没有提过的概念,就是在类中又写了一个类。注意内部类是可以使用private权限的,而且还可以是static的呢。内部类可以正常调用其它类的方法,属性。别人也正常调用它。它的使用用和普通的方法,属性一致,我们就把它看做一个普通的方法就行了。不过它可是可以创建对象的哦。[/align]
[align=left]本节课的例子下载 [/align]
[align=left]我们把测试内部类的源码给大家,不过有一个地方大家要注意。[/align]
public class TestInnerStatic {
/*只有声明成static的内部类,才可以是里面的成员声明成static。否则错误
如果,声明成static的类,不就是全局的了吗?它就相当放在外面了已经不再是内部类了,并且它的对象中将不包含指向外包类对象的指针,所以不能再引用外包类了*/
public static class InnerClass {
public static int classVar = 0;
public static void doSomething() {
System.out.println("TestInnerStatic.InnerClass.doSomething");
}
}
public static void main(String[] args) {
InnerClass.doSomething();
}
}
Modifier | Class | Package | Subclass | World |
---|---|---|---|---|
public | Y | Y | Y | Y |
protected | Y | Y | Y | N |
no modifier | Y | Y | N | N |
private | Y | N | N | N |
[align=left]内部类是我们以前没有提过的概念,就是在类中又写了一个类。注意内部类是可以使用private权限的,而且还可以是static的呢。内部类可以正常调用其它类的方法,属性。别人也正常调用它。它的使用用和普通的方法,属性一致,我们就把它看做一个普通的方法就行了。不过它可是可以创建对象的哦。[/align]
[align=left]本节课的例子下载 [/align]
[align=left]我们把测试内部类的源码给大家,不过有一个地方大家要注意。[/align]
public class TestInnerStatic {
/*只有声明成static的内部类,才可以是里面的成员声明成static。否则错误
如果,声明成static的类,不就是全局的了吗?它就相当放在外面了已经不再是内部类了,并且它的对象中将不包含指向外包类对象的指针,所以不能再引用外包类了*/
public static class InnerClass {
public static int classVar = 0;
public static void doSomething() {
System.out.println("TestInnerStatic.InnerClass.doSomething");
}
}
public static void main(String[] args) {
InnerClass.doSomething();
}
}
相关文章推荐
- 全新java初学者实践教程16(java SE5.0版)----基本语法5
- 全新java初学者实践教程17(java SE5.0版)--基本语法6--final关键字
- java初学者实践教程19-访问控制和内部类
- java初学者实践教程19-访问控制和内部类
- 全新java初学者实践教程9(java SE5.0版)----jdk5的数组
- 全新java初学者实践教程15(java SE5.0版)--jdk5中方法的重载与重写
- java初学者实践教程3 - 基本语法1
- java初学者实践教程4- 基本语法2
- java初学者实践教程4- 基本语法2
- 全新java初学者实践教程11(java SE5.0版)----jdk5的泛型声明
- java初学者实践教程3 - 基本语法1
- 全新java初学者实践教程14(java SE5.0版)----垃圾收集器
- 全新java初学者实践教程8----jdk5的拆箱与装箱
- 全新java初学者实践教程1-8
- 全新java初学者实践教程9-20
- 全新java初学者实践附加教程2--String,StringBuffer和StringBuilde
- java初学者实践教程6--程序流程控制
- 全新java初学者实践附加教程1----"=="和equals()
- java初学者实践教程5-基本类型和引用类型变量
- 全新java初学者实践附加教程3――――jdk5中for语句的补充