java-final关键字在属性域的使用
package com.ray.testobject;
/**
* final在属性域的使用
*
* @author ray
* @since 2015-05-01
*
*/
public class Person {
private final String name = "ray";
public String getName() {
return name;
}
// private void set(String name) {
//这1句报错
// this.name=name;
// }
}
当属性域标识为final时,他就不可能在改动,也就是没有set方法,只有get方法
java-final关键字在方法里面的使用
package com.ray.testobject;
/**
* final在方法里面的使用
*
* @author ray
* @since 2015-05-01
*
*/
public class Test {
class Person {
public final String getName() {
return "person";
}
}
class Man extends Person{
//方法不能被重载,所以报错
// @Override
// public String getName() {
//
// }
}
}
当方法标识为final时,不能被重载
java-final关键字在类里面的使用
package com.ray.testobject;
/**
* final在类里面的使用
*
* @author ray
* @since 2015-05-01
*
*/
public class Test {
final class Person {
private String getName() {
return "person";
}
}
//由于上面的Person类使用了final,所以禁止了继承
//这里报错
// class Man extends Person{
// }
}
当类标识为final时,不能够被继承