Java关键字学习
此篇文章列出学习关键字的相关内容,不断添加中。。。关键字列表:
abstractcontinuefornewswitchassert***defaultgoto*packagesynchronizedbooleandoifprivatethisbreakdoubleimplementsprotectedthrowbyteelseimportpublicthrowscaseenum****instanceofreturntransientcatchextendsintshorttrycharfinalinterfacestaticvoidclassfinallylongstrictfp**volatileconst*floatnativesuperwhile
*not used**added in 1.2***added in 1.4****added in 5.0
1、throws和throw
throws用于一般陈述句,一般用于声明函数会抛出何种异常;throw用于祈使句,命令在此处抛出某种异常。
2、assert
assert是从1.4开始引入的关键字,用作断言(assertion)。断言是提供给程序员用于测试和调试的工具。
在c语言中断言可以在编译的时候确定是否包含断言,而Java中则是在运行的时候确定是否包含断言:
-ea[:<packagename>...|:<classname>]
-enableassertions[:<packagename>...|:<classname>]
enable assertions
-da[:<packagename>...|:<classname>]
-disableassertions[:<packagename>...|:<classname>]
disable assertions
-esa | -enablesystemassertions
enable system assertions
-dsa | -disablesystemassertions
disable system assertions
assert语法:
assert experiton;//experition 为布尔表达式
assert experiton1:experition2;//experition1为布尔表达式,experition2为基本类型或对象,用于抛出AssertError时显示。
public class AssertTest{public static void main(String[] args){assert 1==2 : new AssertTest();}public AssertTest(){System.out.println("Hello assert");}} 输出结果为:
Hello assertException in thread "main" java.lang.AssertionError: AssertTest@c17164 at AssertTest.main(AssertTest.java:4)
assert不能出现在for循环中!
更详细的内容:
参见http://java.sun.com/j2se/1.5.0/docs/guide/language/assert.html#compiling
访问权限控制:public、protected、 包访问权限、private(访问权限要求逐渐升高)
访问者:类(通过继承)、函数(通过调用)
被访问者:类、函数、变量
public:接口级、向所有人提供权限
protected:受保护的,子类及对象可访问
包访问权限:提供同一包内访问权限
private:私有的,只有包含该成员的类可访问,其余均不可,包括子类及对象
权限由最后声明确定,如子类继承父类,权限由子类自己决定。只做好自己的事。
native:一个方法是由平台相关代码实现的(一般由c/c++/fortran/汇编语言编写),则将该方法定义为native,相当于调用底层语言的接口。
strictfp: strict float point
transient:to be written
volatile 和 synchronized:多线程相关,to be written
页:
[1]