Java总共有48+2个关键字
48代表常见的
2代表2个保留字
Java中关键字主要分几类:
class 定义 类
abstract 定义 抽象类
interface 定义 接口
enum 定义 枚举(比较不常用)
new 用来实例化
1.继承的几个关键字
extends 继承类
implements 继承接口
继承时,当子类重写了父类的构造方法,在调用子类的构造方法时,也会调用父类同名的构造方法
2.说到继承就必须有super关键字,而跟super对应的关键字是this
this指的是当前类,this还有一个作用就是区分同名变量,例如:
public class Student{
String name;
public void Stu(String name){
this.name = name;
}
}
这里的this.name就表示的是Student这个类里的name,如果不加this,Student里的name就没有被赋值,所以这点要注意.
super指的是父类
用super可以直接调用父类里的方法或者构造方法
调用规则是:调用方法时super.方法名(参数,....);
调用构造方法时super(参数,....);
package 定义类在哪个包里
import 调用不在同一个包下的类时使用
3.数据类型
int 整型
long 长整形
short 短整型
byte 字节
char 字符-----PS:String不是关键字,它是一个类,表示字符串.
booleac 布尔值只有true和false两种,这两种也是关键字
float 浮点型
double 双精度浮点型
void 空白型
null 无内容
当数据类型用来定义方法时就会返回跟此类型一样的数据,例如:
public int copy(){
int x = 1;
return x;
}
如果用void定义方法,则无返回值----retrun也是关键字
4.循环和条件的关键字
while 循环(可以和do一起用,do也算关键字)
if 条件(一般和else一起用,即当需要判断多个条件来执行不同的语句时用else)
else
switch 判断加循环,例如(以下的break case default都是关键字)
switch(i){
case 0:{语句1};break;
case 1:{语句2};
case 2:{语句3};
……
default {语句n};
}
case后面注意是冒号,而不是分号,case 0意思就是判断i值是否为0,如果是则执行语句1,也可在语句后加break,跳出switch循环,当i值都不满足case后面所有值时,执行语句n.
for 循环,用法for(初始条件;判断条件;循环){
语句;
}
有break跳出结束就有continue关键字对应继续.
5.定义类,属性,方法,接口,内部类,匿名内部类时都得用的3种关键字
public 公有的
protected 受保护的
private 私有的
如果定义成public就可以在别的类里直接调用
如果定义成protected只能在同包不同类里调用,当然,本类里也是可以的
如果定义成private就只能在本类里调用,当子类继承父类时,父类中的private将不会被继承
PS:定义接口时只能是public,同样的,在接口里定义内部类也是public
6.static跟final这两个关键字也很重要
如果用fianl定义属性,则这个属性的值不能被改变.
如果用fianl定义方法,则这个方法不能被重写.
如果用fianl定义类,则这个类不能被继承.
一般定义常量都是public static fianl 常量名 = 值 ; (这样定义的好处就是可以在别的类里也可以调用这个常量)
static关键字表示的是静态的,也就是说用它来定义任何属性,方法,类,静态块在内存里都只会只有一个,而且内存会优先给用static定义的属性,方法,类实例化.而且用static定义的属性只要改变了,之前 的也都改变.例如:
//学生类
public class Student{
//定义属性
public static String name;
//带参数的构造方法
public Studnet(String name){
this.name = name;
}
}
//测试类
public class Text{
//主类
public static void main(String args[]){
//创建一个学生类对象
Student stu = new Student("王五");
//在创建一个学生类对象
Student stu2 = new Student("老六");
System.out.println(stu.name);
System.out.println(stu2.name);
}
}
输出结果都为老六.因为name为静态的,只有一个,只要这个改变了,之前的都会改变
static定义方法时,直接可以使用,使用规则为 类名.静态方法名(参数,....)
7.处理异常使用的5种关键字:
try 用来捕获异常的开始语句
catch 用来处理异常的语句
finall 永远都会执行的代码
throw 用来创建一个新异常
throws 用来抛出一个新异常
8.保留字
const和goto两种
9.比较少用的
instanceof 用来判断当前对象是否是某个类的实例,用法:
//学生类
public class Student{
//主类
public static void main(String args[]){
Student stu = new Student();
//判断stu是不是Student的对象
if(stu instanceof Student){
System.out.println("是");
}else{
System.out.println("不是");
}
}
}
synchronized 在线程中使用,用来定义方法,实现同步
transient 在IO中Object流中,如果属性值不想写入文件中,就可以将属性定义为瞬时的
assert 断言,在程序执行到某一处代码时,执行的结构就是断言的指定内容
10.很少用的
native
strictfp
volatile
48代表常见的
2代表2个保留字
Java中关键字主要分几类:
class 定义 类
abstract 定义 抽象类
interface 定义 接口
enum 定义 枚举(比较不常用)
new 用来实例化
1.继承的几个关键字
extends 继承类
implements 继承接口
继承时,当子类重写了父类的构造方法,在调用子类的构造方法时,也会调用父类同名的构造方法
2.说到继承就必须有super关键字,而跟super对应的关键字是this
this指的是当前类,this还有一个作用就是区分同名变量,例如:
public class Student{
String name;
public void Stu(String name){
this.name = name;
}
}
这里的this.name就表示的是Student这个类里的name,如果不加this,Student里的name就没有被赋值,所以这点要注意.
super指的是父类
用super可以直接调用父类里的方法或者构造方法
调用规则是:调用方法时super.方法名(参数,....);
调用构造方法时super(参数,....);
package 定义类在哪个包里
import 调用不在同一个包下的类时使用
3.数据类型
int 整型
long 长整形
short 短整型
byte 字节
char 字符-----PS:String不是关键字,它是一个类,表示字符串.
booleac 布尔值只有true和false两种,这两种也是关键字
float 浮点型
double 双精度浮点型
void 空白型
null 无内容
当数据类型用来定义方法时就会返回跟此类型一样的数据,例如:
public int copy(){
int x = 1;
return x;
}
如果用void定义方法,则无返回值----retrun也是关键字
4.循环和条件的关键字
while 循环(可以和do一起用,do也算关键字)
if 条件(一般和else一起用,即当需要判断多个条件来执行不同的语句时用else)
else
switch 判断加循环,例如(以下的break case default都是关键字)
switch(i){
case 0:{语句1};break;
case 1:{语句2};
case 2:{语句3};
……
default {语句n};
}
case后面注意是冒号,而不是分号,case 0意思就是判断i值是否为0,如果是则执行语句1,也可在语句后加break,跳出switch循环,当i值都不满足case后面所有值时,执行语句n.
for 循环,用法for(初始条件;判断条件;循环){
语句;
}
有break跳出结束就有continue关键字对应继续.
5.定义类,属性,方法,接口,内部类,匿名内部类时都得用的3种关键字
public 公有的
protected 受保护的
private 私有的
如果定义成public就可以在别的类里直接调用
如果定义成protected只能在同包不同类里调用,当然,本类里也是可以的
如果定义成private就只能在本类里调用,当子类继承父类时,父类中的private将不会被继承
PS:定义接口时只能是public,同样的,在接口里定义内部类也是public
6.static跟final这两个关键字也很重要
如果用fianl定义属性,则这个属性的值不能被改变.
如果用fianl定义方法,则这个方法不能被重写.
如果用fianl定义类,则这个类不能被继承.
一般定义常量都是public static fianl 常量名 = 值 ; (这样定义的好处就是可以在别的类里也可以调用这个常量)
static关键字表示的是静态的,也就是说用它来定义任何属性,方法,类,静态块在内存里都只会只有一个,而且内存会优先给用static定义的属性,方法,类实例化.而且用static定义的属性只要改变了,之前 的也都改变.例如:
//学生类
public class Student{
//定义属性
public static String name;
//带参数的构造方法
public Studnet(String name){
this.name = name;
}
}
//测试类
public class Text{
//主类
public static void main(String args[]){
//创建一个学生类对象
Student stu = new Student("王五");
//在创建一个学生类对象
Student stu2 = new Student("老六");
System.out.println(stu.name);
System.out.println(stu2.name);
}
}
输出结果都为老六.因为name为静态的,只有一个,只要这个改变了,之前的都会改变
static定义方法时,直接可以使用,使用规则为 类名.静态方法名(参数,....)
7.处理异常使用的5种关键字:
try 用来捕获异常的开始语句
catch 用来处理异常的语句
finall 永远都会执行的代码
throw 用来创建一个新异常
throws 用来抛出一个新异常
8.保留字
const和goto两种
9.比较少用的
instanceof 用来判断当前对象是否是某个类的实例,用法:
//学生类
public class Student{
//主类
public static void main(String args[]){
Student stu = new Student();
//判断stu是不是Student的对象
if(stu instanceof Student){
System.out.println("是");
}else{
System.out.println("不是");
}
}
}
synchronized 在线程中使用,用来定义方法,实现同步
transient 在IO中Object流中,如果属性值不想写入文件中,就可以将属性定义为瞬时的
assert 断言,在程序执行到某一处代码时,执行的结构就是断言的指定内容
10.很少用的
native
strictfp
volatile