Java关键字
1.访问修饰符的关键字:public protected private
public 公有的,是公开性最高的一个关键字;可以放在类前,表示这个类可以被其他包中的类的对象访问;public限定的类在一个文件中只允许有一个!!!且类名必须与文件名相同。
根据类的封装原则,属性不应由外部直接访问,一般定义为private;当在属性前加public时、就可以直接通过“对象.属性”的格式直接调用。如:Student st=new Student();
st.name="名字";
private 私有的,是范围最小的一个关键字;一般的类前默认的是private;而在继承时,父类的private方法就不能被子类继承;如果在方法前面加private,则方法就只能由类内部的方法或构造器调用。
protected 受保护的;范围介于public与private之间、protected限定的方法,子类可以继承、同包内可以访问、不同包里则不能访问;
在类中:
和文件名完全相同的类就是主类,该类不可以被修饰为protected和private。
类中匿名内部类,内部类是可以被修饰符为protected、private、默认的和public。
接口中的匿名内部类、内部类、接口是可以被修饰符为默认的和public。
和主类在一个文件中,和主类同级类的访问修饰符只能是默认的。
2.定义、继承和实现类,接口,抽象类的关键字:class 定义类:public class Students(){}
interface 定义接口:
// 定义一个Shape接口
public interface Shape {
abstract 定义抽象类:
//定义一个抽象类
public abstract class AbsShape {
implements 实现接口:
//定义一个画图动作类,接听鼠标动作
public class DrawingListener implements MouseListener,、、可以定义多个接口
enum 定义枚举类型:
Enum是enumeration(列举)的简写形式,包含在java.lang包中。熟悉C, C++, C#, 或 Pascal人应该对列举有所了解,先看个例子:
public enum Season { winter, spring, summer, fall }
一个enum是定义一组值的对象,它可以包括零个或多个值成员。它是属于enum类型的,一个enum对象中不可有两个或多个相同的属性或值。在次之前的java程序员一般是 用接口的方法实现列举的,如 :
public interface Season {
static winter = 0;
static spring = 1; //etc……
}
引入了enum的java的列举的编写方便了许多,只须定义一个enum型的对象。enum对象的值都回自动获得一个数字值,从0开始,依次递增。看一个比较简单的enum实现的例子:
EnumDemo.java
package net.javagarage.enums;
/*
We can loop over the values we put into the enum
using the values() method.
Note that the enum Seasons is compiled into a
separate unit, called EnumDemo$Seasons.class
private enum Seasons { winter, spring,
summer, fall }
//list the values
public static void main(String[] args) {
for (Seasons s : Seasons.values()){
System.out.println(s);
}
}
}运行上述代码你回得到 以下结果:
winter
spring
summer
fall
3.实例化对象的关键字:new
类名 对象名 = new 类名();
Student stu = new Student();
4.java中数据类型和值:
boolean 这个试编译环境而定
byte 1个字节
short 2个字节
char 2个字节
int 4个字节
long 8个字节
float 4个字节
double 8个字节
void :不需要返回值
public void setName(String n){
//将参数n赋给name
name = n;
true:判断条件为真
false:判断条件为假
null:表空;如:String str=null;
this 表示当前的对象
在类中用来指代当前对象、另一用途是在构造器中调用自己的另外一个构造器。
super 表示调用父类的方法
它与this相比指的是当前类的父类的对象。
return 表示返回结果
5.和包相关的:package,import
一般自动生成,提示引入;
6.修饰方法,属性,常量的:static静态的、final最终的;
static限定的方法为静态方法或类方法。与非静态方法的区别是:非static方法的调用必须通过创建该类的对象调用。而static方法不需要;直接使用“类名.静态方法名()”
final放在属性前,属性的值就是常量;如果放在方法的前面,当子类继承时,就不可以重写此方法,所以常用来保护父类中不被子类重写但又要被标识为public让外部调用的方法。
// 实例化一个文本输入框
final JTextField jtf = new JTextField(20);
7.非常用关键字:try 用来捕捉异常的开始语句
catch 用来处理异常的开始语句
finally 永远都会执行的代码块
throws 用来抛出一个异常
如:
try catch为异常处理的一种模式。在try模块里如果操作失败就会抛出异常代码,这时候catch模块就会捕捉这个异常,如果捕捉到,就会进行catch模块中的相应处理.
try
{
//程序中抛出异常
throw value;
}
catch(valuetype v)
{
//例外处理程序段
}
语法小结:throw抛出值,catch接受,当然,throw必须在“try语句块”中才有效。
8 循环和条件:for:for(int i=0;i<9;i++){循环体}
while()//当满足条件是进行循环
do 、、、while//直到型循环,满足条件继续循环;一般格式为:
do
语句
while(条件表达式)
if(满足条件){}
else{}
switch//用来实现多路分支的流程控制,以便结构显得更加清晰。
case
default
break
switch(表达式)
{case 常量表达式1:语句1 ;break;、、、当都不满足时,default:语句n+1;}
continue//用在循环语句中,结束本次循环;若在循环体中遇到continue语句,本次循环结束、回到循环条件,判断是否执行下一次循环。
instanceof//用来判断当前的对象是否是某个类的实例:
if(obj instanceof class)
{
}
其返回true情况如下
1.obj是class类的对象
2.obj是class类子类的对象
synchronized 线程中使用,用来定义方法或其他的内容为同步
transient IO中Object流中如果属性值不想写入到文件中就可以将属性定义为瞬时的。
assert 断言 程序执行到某一块代码时,执行的结构就是断言中指定的内容。
volatile//Volatile修饰的成员变量在每次被线程访问时,都强迫从共享内存中重读该成员变量的值。而且,当成员变量发生变化时,强迫线程将变化值回写到共享内存。这样在任何时刻,两个不同的线程总是看到某个成员变量的同一个值。
strictfp// strictfp的意思是FP-strict,也就是说精确浮点的意思。在Java虚拟机进行浮点运算时,如果没有指定strictfp关键字时,Java的编译器以及运行环境在对浮点运算的表达式是采取一种近似于我行我素的行为来完成这些操作,以致于得到的结果往往无法令你满意。而一旦使用了strictfp来声明一个类、接口或者方法时,那么所声明的范围内Java的编译器以及运行环境会完全依照浮点规范IEEE-754来执行。因此如果你想让你的浮点运算更加精确,而且不会因为不同的硬件平台所执行的结果不一致的话,那就请用关键字strictfp。
你可以将一个类、接口以及方法声明为strictfp,但是不允许对接口中的方法以及构造函数声明strictfp关键字,例如下面的代码:
1. 合法的使用关键字strictfp
strictfp interface A {}
public strictfp class FpDemo1 {
strictfp void f() {}
}
java中的保留字
const
goto
1.访问修饰符的关键字:public protected private
public 公有的,是公开性最高的一个关键字;可以放在类前,表示这个类可以被其他包中的类的对象访问;public限定的类在一个文件中只允许有一个!!!且类名必须与文件名相同。
根据类的封装原则,属性不应由外部直接访问,一般定义为private;当在属性前加public时、就可以直接通过“对象.属性”的格式直接调用。如:Student st=new Student();
st.name="名字";
private 私有的,是范围最小的一个关键字;一般的类前默认的是private;而在继承时,父类的private方法就不能被子类继承;如果在方法前面加private,则方法就只能由类内部的方法或构造器调用。
protected 受保护的;范围介于public与private之间、protected限定的方法,子类可以继承、同包内可以访问、不同包里则不能访问;
在类中:
和文件名完全相同的类就是主类,该类不可以被修饰为protected和private。
类中匿名内部类,内部类是可以被修饰符为protected、private、默认的和public。
接口中的匿名内部类、内部类、接口是可以被修饰符为默认的和public。
和主类在一个文件中,和主类同级类的访问修饰符只能是默认的。
2.定义、继承和实现类,接口,抽象类的关键字:class 定义类:public class Students(){}
interface 定义接口:
// 定义一个Shape接口
public interface Shape {
abstract 定义抽象类:
//定义一个抽象类
public abstract class AbsShape {
implements 实现接口:
//定义一个画图动作类,接听鼠标动作
public class DrawingListener implements MouseListener,、、可以定义多个接口
enum 定义枚举类型:
Enum是enumeration(列举)的简写形式,包含在java.lang包中。熟悉C, C++, C#, 或 Pascal人应该对列举有所了解,先看个例子:
public enum Season { winter, spring, summer, fall }
一个enum是定义一组值的对象,它可以包括零个或多个值成员。它是属于enum类型的,一个enum对象中不可有两个或多个相同的属性或值。在次之前的java程序员一般是 用接口的方法实现列举的,如 :
public interface Season {
static winter = 0;
static spring = 1; //etc……
}
引入了enum的java的列举的编写方便了许多,只须定义一个enum型的对象。enum对象的值都回自动获得一个数字值,从0开始,依次递增。看一个比较简单的enum实现的例子:
EnumDemo.java
package net.javagarage.enums;
/*
We can loop over the values we put into the enum
using the values() method.
Note that the enum Seasons is compiled into a
separate unit, called EnumDemo$Seasons.class
private enum Seasons { winter, spring,
summer, fall }
//list the values
public static void main(String[] args) {
for (Seasons s : Seasons.values()){
System.out.println(s);
}
}
}运行上述代码你回得到 以下结果:
winter
spring
summer
fall
3.实例化对象的关键字:new
类名 对象名 = new 类名();
Student stu = new Student();
4.java中数据类型和值:
boolean 这个试编译环境而定
byte 1个字节
short 2个字节
char 2个字节
int 4个字节
long 8个字节
float 4个字节
double 8个字节
void :不需要返回值
public void setName(String n){
//将参数n赋给name
name = n;
true:判断条件为真
false:判断条件为假
null:表空;如:String str=null;
this 表示当前的对象
在类中用来指代当前对象、另一用途是在构造器中调用自己的另外一个构造器。
super 表示调用父类的方法
它与this相比指的是当前类的父类的对象。
return 表示返回结果
5.和包相关的:package,import
一般自动生成,提示引入;
6.修饰方法,属性,常量的:static静态的、final最终的;
static限定的方法为静态方法或类方法。与非静态方法的区别是:非static方法的调用必须通过创建该类的对象调用。而static方法不需要;直接使用“类名.静态方法名()”
final放在属性前,属性的值就是常量;如果放在方法的前面,当子类继承时,就不可以重写此方法,所以常用来保护父类中不被子类重写但又要被标识为public让外部调用的方法。
// 实例化一个文本输入框
final JTextField jtf = new JTextField(20);
7.非常用关键字:try 用来捕捉异常的开始语句
catch 用来处理异常的开始语句
finally 永远都会执行的代码块
throws 用来抛出一个异常
如:
try catch为异常处理的一种模式。在try模块里如果操作失败就会抛出异常代码,这时候catch模块就会捕捉这个异常,如果捕捉到,就会进行catch模块中的相应处理.
try
{
//程序中抛出异常
throw value;
}
catch(valuetype v)
{
//例外处理程序段
}
语法小结:throw抛出值,catch接受,当然,throw必须在“try语句块”中才有效。
8 循环和条件:for:for(int i=0;i<9;i++){循环体}
while()//当满足条件是进行循环
do 、、、while//直到型循环,满足条件继续循环;一般格式为:
do
语句
while(条件表达式)
if(满足条件){}
else{}
switch//用来实现多路分支的流程控制,以便结构显得更加清晰。
case
default
break
switch(表达式)
{case 常量表达式1:语句1 ;break;、、、当都不满足时,default:语句n+1;}
continue//用在循环语句中,结束本次循环;若在循环体中遇到continue语句,本次循环结束、回到循环条件,判断是否执行下一次循环。
instanceof//用来判断当前的对象是否是某个类的实例:
if(obj instanceof class)
{
}
其返回true情况如下
1.obj是class类的对象
2.obj是class类子类的对象
synchronized 线程中使用,用来定义方法或其他的内容为同步
transient IO中Object流中如果属性值不想写入到文件中就可以将属性定义为瞬时的。
assert 断言 程序执行到某一块代码时,执行的结构就是断言中指定的内容。
volatile//Volatile修饰的成员变量在每次被线程访问时,都强迫从共享内存中重读该成员变量的值。而且,当成员变量发生变化时,强迫线程将变化值回写到共享内存。这样在任何时刻,两个不同的线程总是看到某个成员变量的同一个值。
strictfp// strictfp的意思是FP-strict,也就是说精确浮点的意思。在Java虚拟机进行浮点运算时,如果没有指定strictfp关键字时,Java的编译器以及运行环境在对浮点运算的表达式是采取一种近似于我行我素的行为来完成这些操作,以致于得到的结果往往无法令你满意。而一旦使用了strictfp来声明一个类、接口或者方法时,那么所声明的范围内Java的编译器以及运行环境会完全依照浮点规范IEEE-754来执行。因此如果你想让你的浮点运算更加精确,而且不会因为不同的硬件平台所执行的结果不一致的话,那就请用关键字strictfp。
你可以将一个类、接口以及方法声明为strictfp,但是不允许对接口中的方法以及构造函数声明strictfp关键字,例如下面的代码:
1. 合法的使用关键字strictfp
strictfp interface A {}
public strictfp class FpDemo1 {
strictfp void f() {}
}
java中的保留字
const
goto