关键字大致可以分为这三种类型;
1:基本数据类型,流程控制和修饰符,其中基本数据类型有四类八种分别为整数型(byte,short,int,long),浮点类型(float,double),字符型(char),布尔型(boolean)
2:流程控制:if else switch case for do while break return goto continue。。。
3:修饰符:public protected private class interface abstract this super static final。。。在Java中关键字如下图图所示
这里有这么多关键字,就不一一解释,现在简单说说几个常用的关键字,
![](https://i-blog.csdnimg.cn/blog_migrate/898ca8dbd3f3c4054e0f6fef9405d599.jpeg)
这里有这么多关键字,就不一一解释,现在简单说说几个常用的关键字,
访问修饰符:可以用来修饰类 属性 方法 构造方法
1:private 只能在同一个类中被访问
2:默认不写 只能在同一个包中被访问
3:protected 只能在同一个包中其他类或者子类中可以被访问:
1:private 只能在同一个类中被访问
2:默认不写 只能在同一个包中被访问
3:protected 只能在同一个包中其他类或者子类中可以被访问:
4:public 在同一个程序中可以被自由访问
其中有一个默认不写范围的介于private和protected之间,看下表
![](https://i-blog.csdnimg.cn/blog_migrate/0d251cdb482725dbfc68c774b5a766c2.jpeg)
5: this关键字:用在一个非静态方法中,用来指代当前调用这个方法的对象用来调用成员变量和方法, 在构造方法中调用本类的某一个构造方法,具体代码如下
public class Student{
//设置成员变量name
private String name;
public static void main(String args[]){
//实例化对象
Student stu =new Student();
//调用study()方法
stu.Study();
}
public void Study(){
//this指的是上面那个实例化对象
//用来调用成员变量和setName方法
this.name = name;
this.setName("name");
}
private void setName(String string) {
}
//this用来调用有参构造方法
public Student(){
this("this调用有参构造方法");
System.out.println("无参构造方法");
}
//定义有参构造方法
public Student(String string) {
System.out.println("有参构造方法");
}
}
6:
super关键字:super和this差不多,不过this用来指当前对象,super指在非静态方法中,用来指代调用当前这个方法的对象的父类对象可以调用父类成员变量和方法,在构造方法中调用父类中的某一个构造方法,代码如下
final class 该类不能被继承
final 方法 该方法不能被重写
final 属性 该属性的值不能被修改,只能赋值一次
final 变量 该变量的值不能被修改,只能赋值一次
class people {
protected String name ;
public people(){
System.out.println("people");
}
public void Study(){
}
}
public class Student extends people{
Student(){
//调用父类构造方法
super();
//调用父类成员方法
super.Study();
//调用父类成员变量
System.out.println(super.name);
}
}
7:final关键字:
可以修饰 类 属性 方法 局部变量
final class 该类不能被继承
final 方法 该方法不能被重写
final 属性 该属性的值不能被修改,只能赋值一次
final 变量 该变量的值不能被修改,只能赋值一次
总之一句话被修饰成为final的类也好属性也好方法也好,你都不能去改变它
8:static关键字:静态的
可修饰 类 属性 方法 代码块
static 属性 表示该类的对象共享同一个属性,
静态属性可通过类名直接调用
static 方法 子类的重写失去多态性,方法的执行只和类型相关
,和对象无关,静态方法通常使用类名直接调用
可修饰 类 属性 方法 代码块
static 属性 表示该类的对象共享同一个属性,
静态属性可通过类名直接调用
static 方法 子类的重写失去多态性,方法的执行只和类型相关
,和对象无关,静态方法通常使用类名直接调用
static 代码块 在加载类的时候执行
1. 静态方法
通常,在一个类中定义一个方法为static,那就是说,无需本类的对象即可调用此方法
声明为static的方法有以下几条限制:
· 它们仅能调用其他的static 方法。
· 它们只能访问static数据。
· 它们不能以任何方式引用this 或super。
class Simple {
static void go() {
System.out.println("Welcome");
}
}
public class Cal {
public static void main(String[] args) {
Simple.go();
}
}
1.