包,final和static关键字 内部类
2008-04-04 22:52
274 查看
所谓的包就是为每个 Java 类提供一个命名空间。处于同一个包中的两个 Java 类可以不需要其他任何语句就相互寻找。类有四种类型, abstract 、 final 、 friendly 和 public ,其中后两种类型和包的定义相关,其中 public 类型的类可以为任何对象所存取,而 friendly 类型的类只有在相同包中的对象才能使用。成员变量或成员方法的 public 和 friendly 类型限制和类的类型限制相同,而protected 类型的方法或变量可以被其同包中的类,子类等访问,与friendly 相似(好像是没有区别的)。 private 类型的方法或变量只可以被自己类的方法所访问。
另外,如果程序位于两个包中,如果之间需要相互调用,则需要使用 import 语句将需要的类包括进来。注意,这种包括,只是保证可以进行范围以内的访问。即如果一个类要访问另外一个包中的公共类,则需要将那个公共类包括进来,但是还是不可以访问那个公共类中的 protected 、 private 和 friendly 类型的变量或是方法。
static 修饰的成员变量叫做类变量,它被所有对象共享,对所有的实例只使用一个备份。同样,有 static 修饰的成员方法叫做类方法。类方法不能使用该方法所在类的实例变量和实例方法,因为类方法也许会在实例化该类之前被调用。另外类方法中不能使用 this 关键字,因为 this 是代表调用该方法的对象,类方法不需要对象来调用,所以 this 不应该存在于类方法内部。
final 用于修饰类的时候,说明类是最终类,不能被其他类继承,也不能进行实例化(这是教科书上一句错误的话); final 修饰的变量是最终变量,即常量;用 final 修饰的方法不能再被子类重写。 main 方法是程序的入口点,它没有返回参数,而入口参数就是应用程序运行时在命令行给出的参数。
所谓内部类,就是在某个类的内部嵌套定义一个类,内部类可以在一个语句块的内部定义,也可以是其他类的成员,还可以在一个表达式内部匿名定义。内部类的特性有: 11 )内部类可以声明为 private 或 protected ; 2 )内部类可以定义为 abstract ; 3 )内部类不能与包含它的类名相同; 4 )内部类可以使用包含它的类的成员变量,包括静态和实例成员变量,也可以使用内部类所在方法的局部变量; 5 )内部类如果被声明为 static ,就变成了顶层类,这样就不能再使用局部变量,也只有内部类是顶层类时,才可以声明 static 成员。通过使用内部类虽然可以大大节省编译后产生的字节码文件的大小(为何可以以后再查询),但是会造成程序结构上的不清楚。
另外,如果程序位于两个包中,如果之间需要相互调用,则需要使用 import 语句将需要的类包括进来。注意,这种包括,只是保证可以进行范围以内的访问。即如果一个类要访问另外一个包中的公共类,则需要将那个公共类包括进来,但是还是不可以访问那个公共类中的 protected 、 private 和 friendly 类型的变量或是方法。
static 修饰的成员变量叫做类变量,它被所有对象共享,对所有的实例只使用一个备份。同样,有 static 修饰的成员方法叫做类方法。类方法不能使用该方法所在类的实例变量和实例方法,因为类方法也许会在实例化该类之前被调用。另外类方法中不能使用 this 关键字,因为 this 是代表调用该方法的对象,类方法不需要对象来调用,所以 this 不应该存在于类方法内部。
final 用于修饰类的时候,说明类是最终类,不能被其他类继承,也不能进行实例化(这是教科书上一句错误的话); final 修饰的变量是最终变量,即常量;用 final 修饰的方法不能再被子类重写。 main 方法是程序的入口点,它没有返回参数,而入口参数就是应用程序运行时在命令行给出的参数。
所谓内部类,就是在某个类的内部嵌套定义一个类,内部类可以在一个语句块的内部定义,也可以是其他类的成员,还可以在一个表达式内部匿名定义。内部类的特性有: 11 )内部类可以声明为 private 或 protected ; 2 )内部类可以定义为 abstract ; 3 )内部类不能与包含它的类名相同; 4 )内部类可以使用包含它的类的成员变量,包括静态和实例成员变量,也可以使用内部类所在方法的局部变量; 5 )内部类如果被声明为 static ,就变成了顶层类,这样就不能再使用局部变量,也只有内部类是顶层类时,才可以声明 static 成员。通过使用内部类虽然可以大大节省编译后产生的字节码文件的大小(为何可以以后再查询),但是会造成程序结构上的不清楚。
相关文章推荐
- java 笔记 chapter4 关键字static,final,内部类,内存管理
- mabatis学习之前今日内容介绍 1、final 关键字 2、static 关键字 3、匿名对象 4、内部类 5、包的声明与访问 6、访问修饰符 7、代码块 第一节课 ###01(面向对象)fin
- JAVAEE第15天-static,final关键字,访问权限修饰符,内部类,静态代码块,包的声明和导入
- Java关键字final、static使用总结
- Java关键字final、static使用总结
- Java关键字final、static使用总结
- Java 关键字final、static
- Java基础学习笔记十 Java基础语法之final、static、匿名对象、内部类
- [转] Java关键字final、static使用总结
- Android Java中的static与final关键字的作用
- static、final关键字
- Java关键字final、static使用总结
- java 关键字final 和 static
- Java关键字final、static使用总结
- 个人总结:Java关键字之static final 使用
- Java中final 关键字相关 JVM编译static,final
- java中普通的顶级类是不能使用static关键字修饰的。只有内部类可以使用static修饰,也可以不使用staitc关键字修饰。
- java面试遇到问题三 -----final关键字和static关键字
- Java关键字final、static使用总结
- Java关键字final、static使用总结