1.访问权限修饰符:public, protected , private
public:[u][u]整个工程[/u][/u]下的任何类都能访问;
protected:[u]同一个包[/u]下能被访问和属性方法能被继承,[u]不同包[/u]下的类能继承相应访问权限的方法和属性;
默认(default):[u]同一个包[/u]下能被访问和属性方法能被继承;
private:[u]同一个类[/u]下能访问.
访问权限修饰符权限[u]从高到低[/u]排列是public, protected, default, private
可修饰的内容:类、方法、属性
修饰类时只能用[u]public和默认[/u],内部类可以定义为四种访问权限
访问权限修饰符与继承:当子类与父类在同一包中,只有声明为[u]private[/u]的变量与方法不 能被继承(访问);当子类与父类不在同一包中,[u]private与default[/u]均不能被继承(访问),但protected与public可以.
2.跟类相关:class, interface, implements ,extends, import, package,abstract, final, static
abstract:
abstract--[u]抽象的[/u]
修饰:[u]类、方法 [/u]
[u]修饰类时[/u]表明该方法是一个抽象方法,它需要在子类实现,如果类中包括没有实现的方法,则不能被实例化.
[u]修饰方法时[/u]表明方法体为空,该方法的实现在子类中被定义,并且包含改方法的类必须是一个抽象类.
注意: 如果试图创建一个抽象类的实例就会产生编译错误;如果一个类是非抽象类却包含一个抽象方法,就会产生编译错误; 构造函数和静态函数以及final修饰的函数不能使用abstract修饰符.
final:
final--[u]最终的[/u]
修饰:[u]属性、方法、类、参数[/u]
[u]修饰类时[/u]不能被继承,不能被覆盖,字段值不允许被修改,类不能同时被声明为abstract和final
[u]修饰方法时[/u]不能被重写,但是可以被重载
[u]修饰属性时[/u]代表这个属性已经是常量,只能赋值一次
[u]修饰参数时[/u]在方法体重不能修改参数的值
static:
static--[u]静态的[/u]
修饰:[u]方法、属性、静态块[/u]
[u]修饰方法和属性时[/u]对应的方法和属性是对应类的初始化,静态属性和静态方法不需要创建实例就可以使用
注意:静态方法中用的属性必须为静态的.在静态成员函数中只能直接调用其它的静态成员函数或引用静态属性,否则会造成编译错误.静态成员函数中也不能使用this或者super,因为它们是和类的对象相关联的.
3.基本数据类型:int , char, short ,long, byte, boolean, double, float
java中的数据类型分为两大类:[u]基本数据类型[/u]和[u]引用数据类型[/u]
基本数据类型,包括数值型,字符型和布尔型。
[u]数值型[/u]:1)[u]整型[/u]:byte 1个字节;short 2个字节;int 4个字节;long 8个字节;2)[u]浮点型[/u]:float 4个字节;double 8个字节;可以采用十进制和十六进制两种表示方式,浮点型的默认类型为double型,如果声明float型浮点数,要在数值后面加上f或F.
[u]字符型[/u]:char 采用unicod的16位编码方式进行编码。
[u]布尔(boolean)型[/u]:true,false;
引用数据类型:类、接口类型、数组类型、枚举类型、注解类型.
4.循环判断:for, if, while, switch, return, break, continue, else, do, case
[u]if[/u](判断语句){ [u]if[/u](判断语句){
语句1; 语句1;
.... }[u]else[/u]{
语句2; 语句2;
} }
[u]switch[/u](表达式){
[u]case[/u]选择值1: 语句1 ; [u]break[/u];
[u]case[/u]选择值2: 语句2 ; [u]break[/u];
......
[u]case[/u]选择值n: 语句n ; [u]break[/u];
[u]default[/u]: 语句体
}
[u]while[/u](循环条件判断){
语句1;
语句2;
....
语句n;
循环条件更改;
}
[u]do[/u]{
语句1;
语句2;
....
语句n;
循环条件更改;
}[u]while[/u](循环条件判断);
[u]for[/u](赋初值;判断条件;赋值增减量){
语句1;
语句2;
....
语句n;
}
[u]break[/u]:跳出循环,执行循环后的所有代码
[u]return[/u]:结束当前方法
[u]continue[/u]:跳过当层循环
5.其他:try, catch, throw, throws, this, super, new
[u]this\super[/u]
this:1)调用当前类的其他构造函数 2)代表当前类的对象
super:1)调用父类的构造函数 2)代表父类的对象,调用父类方法
[u]throw\throws[/u]
throw语句用在方法体内,表示抛出异常,由方法体内的语句处理,是具体向外抛异常的动作,所以它是抛出一个异常实例
throws语句用在方法声明后面,表示再抛出异常,由调用这个方法的上一级方法中的语句来处理 ,主要是声明这个方法会抛出这种类型的异常,使其他地方调用它时知道要捕获这个异常
区别:1)throws出现在方法函数头;而throw出现在函数体; 2)throws表示出现异常的一种可能性,并不一定会发生这些异常;throw则是抛出了异常,执行throw则一定抛出了某种异常; 3)两者都是消极处理异常的方式(这里的消极并不是说这种方式不好),只是抛出或者可能抛出异常,但是不会由函数去处理异常,真正的处理异常由函数的上层调用处理。
public:[u][u]整个工程[/u][/u]下的任何类都能访问;
protected:[u]同一个包[/u]下能被访问和属性方法能被继承,[u]不同包[/u]下的类能继承相应访问权限的方法和属性;
默认(default):[u]同一个包[/u]下能被访问和属性方法能被继承;
private:[u]同一个类[/u]下能访问.
访问权限修饰符权限[u]从高到低[/u]排列是public, protected, default, private
可修饰的内容:类、方法、属性
修饰类时只能用[u]public和默认[/u],内部类可以定义为四种访问权限
访问权限修饰符与继承:当子类与父类在同一包中,只有声明为[u]private[/u]的变量与方法不 能被继承(访问);当子类与父类不在同一包中,[u]private与default[/u]均不能被继承(访问),但protected与public可以.
2.跟类相关:class, interface, implements ,extends, import, package,abstract, final, static
abstract:
abstract--[u]抽象的[/u]
修饰:[u]类、方法 [/u]
[u]修饰类时[/u]表明该方法是一个抽象方法,它需要在子类实现,如果类中包括没有实现的方法,则不能被实例化.
[u]修饰方法时[/u]表明方法体为空,该方法的实现在子类中被定义,并且包含改方法的类必须是一个抽象类.
注意: 如果试图创建一个抽象类的实例就会产生编译错误;如果一个类是非抽象类却包含一个抽象方法,就会产生编译错误; 构造函数和静态函数以及final修饰的函数不能使用abstract修饰符.
final:
final--[u]最终的[/u]
修饰:[u]属性、方法、类、参数[/u]
[u]修饰类时[/u]不能被继承,不能被覆盖,字段值不允许被修改,类不能同时被声明为abstract和final
[u]修饰方法时[/u]不能被重写,但是可以被重载
[u]修饰属性时[/u]代表这个属性已经是常量,只能赋值一次
[u]修饰参数时[/u]在方法体重不能修改参数的值
static:
static--[u]静态的[/u]
修饰:[u]方法、属性、静态块[/u]
[u]修饰方法和属性时[/u]对应的方法和属性是对应类的初始化,静态属性和静态方法不需要创建实例就可以使用
注意:静态方法中用的属性必须为静态的.在静态成员函数中只能直接调用其它的静态成员函数或引用静态属性,否则会造成编译错误.静态成员函数中也不能使用this或者super,因为它们是和类的对象相关联的.
3.基本数据类型:int , char, short ,long, byte, boolean, double, float
java中的数据类型分为两大类:[u]基本数据类型[/u]和[u]引用数据类型[/u]
基本数据类型,包括数值型,字符型和布尔型。
[u]数值型[/u]:1)[u]整型[/u]:byte 1个字节;short 2个字节;int 4个字节;long 8个字节;2)[u]浮点型[/u]:float 4个字节;double 8个字节;可以采用十进制和十六进制两种表示方式,浮点型的默认类型为double型,如果声明float型浮点数,要在数值后面加上f或F.
[u]字符型[/u]:char 采用unicod的16位编码方式进行编码。
[u]布尔(boolean)型[/u]:true,false;
引用数据类型:类、接口类型、数组类型、枚举类型、注解类型.
4.循环判断:for, if, while, switch, return, break, continue, else, do, case
[u]if[/u](判断语句){ [u]if[/u](判断语句){
语句1; 语句1;
.... }[u]else[/u]{
语句2; 语句2;
} }
[u]switch[/u](表达式){
[u]case[/u]选择值1: 语句1 ; [u]break[/u];
[u]case[/u]选择值2: 语句2 ; [u]break[/u];
......
[u]case[/u]选择值n: 语句n ; [u]break[/u];
[u]default[/u]: 语句体
}
[u]while[/u](循环条件判断){
语句1;
语句2;
....
语句n;
循环条件更改;
}
[u]do[/u]{
语句1;
语句2;
....
语句n;
循环条件更改;
}[u]while[/u](循环条件判断);
[u]for[/u](赋初值;判断条件;赋值增减量){
语句1;
语句2;
....
语句n;
}
[u]break[/u]:跳出循环,执行循环后的所有代码
[u]return[/u]:结束当前方法
[u]continue[/u]:跳过当层循环
5.其他:try, catch, throw, throws, this, super, new
[u]this\super[/u]
this:1)调用当前类的其他构造函数 2)代表当前类的对象
super:1)调用父类的构造函数 2)代表父类的对象,调用父类方法
[u]throw\throws[/u]
throw语句用在方法体内,表示抛出异常,由方法体内的语句处理,是具体向外抛异常的动作,所以它是抛出一个异常实例
throws语句用在方法声明后面,表示再抛出异常,由调用这个方法的上一级方法中的语句来处理 ,主要是声明这个方法会抛出这种类型的异常,使其他地方调用它时知道要捕获这个异常
区别:1)throws出现在方法函数头;而throw出现在函数体; 2)throws表示出现异常的一种可能性,并不一定会发生这些异常;throw则是抛出了异常,执行throw则一定抛出了某种异常; 3)两者都是消极处理异常的方式(这里的消极并不是说这种方式不好),只是抛出或者可能抛出异常,但是不会由函数去处理异常,真正的处理异常由函数的上层调用处理。