一、什么是关键字
JAVA语言中,某些被赋予了特定含义用在特定环境中的词语称为关键字,如class代表了类,extends代表了继承等
二、 关键字this
1.this英译为本身,常用于类方法中代表调用该方法的对象
/**
* 定义common类
*
* @author Administrator
*
*/
public class Common
{
public String name;
public String sex;
public int age;
/**
* 有参构造
*/
public Common(String name, String sex, int age)
{
this.name = name; //这里的this代表了调用该构造方法的对象
this.sex = sex;
this.age = age;
}
public void test()
{
System.out.println("名字是"+this.name); //这里的this代表了调用该方法的对象
}
public static void main(String[] args)
{
Common common=new Common("张三", "男", 20); //方法里的this就是等于common对象
common.test(); //方法里的this就是等于common对象
}
}
三、关键字super
super代表超类对象或者超类构造函数,
/**
* 子类继承父类Common类
*
* @author Administrator
*
*/
public class Rector extends Common
{
public String subsject;
/**
* 子类有参构造器
*
* @param args
*/
public Rector(String name, String sex, int age, String subsject)
{
super(name, sex, age); // 引用父类common类构造器
super.test(); // 代表父类对象调用父类的test方法
this.subsject = subsject;
}
}
四、关键字static
static的意思是静态的,可用于修饰属性和方法
1)修饰属性(位于修饰符之后,返回类型之前)
1.static修饰的属性常称为静态属性(静态资源)或者类变量,其可以通过类.属性名直接调用
2.静态属性为该类的所有对象(包含子类对象)共用,即存在Common类及静态资源age,那么a对象的age属性和b对象的age属性是同一个,任何一个对静态属性修改,其余对象都会受到影响
/**
* 定义common类
*
* @author Administrator
*
*/
public class Common
{
public String name;
public static int age=1; //初始化赋值
public static void main(String[] args)
{
System.out.println("输出静态属性:"+Common.age); //类直接调用
Common a=new Common();
Common b=new Common();
System.out.println("输出对象a的age是:"+a.age);
System.out.println("输出对象b的age是: "+b.age);
a.age=30; //对a的age进行重新赋值
System.out.println("输出修改后对象a的age是: "+a.age);
System.out.println("输出修改后对象b的age是: "+b.age);
b.age=60; //对b的age重新赋值
Common c=new Common(); //生成新的对象
System.out.println("新对象c的age是: "+c.age);
}
}
执行结果:任何对象的对静态资源的修改都会影响到其它对象,因此静态资源是所有对象共有的
2)修饰方法(位于修饰符之后,返回类型之前)
1.static修饰的方法被称为静态方法或者类方法,该方法可通过类.方法名直接调用,而不需要实例化对象来调用(节省内存)
/**
* 定义common类
*
* @author Administrator
*
*/
public class Common
{
/**
* 静态方法
* @param args
*/
public static void test()
{
System.out.println("这是一个静态方法");
}
public static void main(String[] args)
{
Common.test(); //可直接类.方法名调用
}
}
2.static方法中不能引用非static变量,否则编译报错
五、关键字final
final代表了永恒的,不可改变的,可用于修饰类、变量、方法
1)final修饰类
1.final修饰的类中的方法默认为final修饰,属性则没有
/**
* 定义common为final类
*
* @author Administrator
*
*/
public final class Common
{
public String name;
public static int age=1; //初始化赋值
/**
* 方法默认为final修饰,只是隐藏掉了,编译后会出来
*/
public void test()
{
System.out.println("这是一个final方法");
}
}
2.final修饰的类不可以被继承即不可被改变,如String类就是final类
2)final修饰属性
1.final修饰的属性称为常量且必须初始化赋值,否则编译报错
2.常量的值是不可以被改变的,否则编译报错
3.其常跟static一起修饰变量代表了类常量,常用于项目中某些常量的设置
/**
* 定义common为final类
*
* @author Administrator
*
*/
public class Common
{
public final String name="test"; // 常量
public final int age = 5; // 常量
public void test()
{
age=age+1; //报错
}
}
3)final修饰方法
目前暂时没有用到final修饰方法这块,其本质就是不能被子类覆盖,因此若类中有某个方法不想被子类覆盖重写定义,那么可以加上final关键字修饰,保证该方法只有该类可以调用即可