您的位置:首页 > 其它

下属翅膀硬了就跳槽,咋办?

2013-10-07 23:04 459 查看
// blog: Java关键字final、static使用总结

final :

 

public class TestFinalClass{
//私有方法不被继承
private void f1(){
System.out.println("f1 方法 不被继承");
}

public void f2(){
System.out.println("f2 方法 可被继承");
}

public void f3(){
System.out.println("f3 方法 可被继承");
}

public final void f4(){
System.out.println("f4 方法 不被继承重写");
}

}

 
 

 

 

public class TestFinalClassSon extends TestFinalClass{

public void f2(){
System.out.println("test Final Class son method: f2");
}
public static void main(String args[]){
TestFinalClass tfc = new TestFinalClassSon();
//tfc.f1();   //父亲私有方法
tfc.f2();

tfc.f3();

tfc.f4();
}

}

 

 

public class TestFinalVarAndParam{
private final int a =1;
private final String str;  //必须在初始化对象时赋值,默认null

public TestFinalVarAndParam(){
str = " 构造函数中初始化";
}

public void updateIntA(){
//a = 2;   //更新错误】
//		str = "运行时,赋值。";  //不能在方法里面赋值
System.out.println(str);
}

//测试final局部变量
public void testLocalVar(){
final String str ;  //用时才初始化
final int a;
final int b = 2;
System.out.println(b);
str = " final str 局部变量";
System.out.println(str);
}

//测试final 参数变量
public void testClient(TestFinalVarAndParam tp){
//测试参数变量
Person p = new Person();
p.printName();
tp.testClassFinalParam(p);

p.printName();

}

public void testClassFinalParam(final Person person){
//person是final参数,不能被update 。但是 person的属性可以被改变。
person.updateName();
}

public static void main(String args[]){
TestFinalVarAndParam tp = new TestFinalVarAndParam();
tp.updateIntA();

//测试局部变量
tp.testLocalVar();

//调用 测试final参数 方法
tp.testClient(tp);
}

//内部类
class Person{
private String name;
public Person(){
name = "Mark";
}
public void updateName(){
name = "Marcs";
}
public void printName(){
System.out.println(name);
}
}
}

 
 

 

static:

 

public class TestStatic{
//全局变量
private static int i ;

//全局方法
public static void println(int i){
System.out.println(i);
}

//静态的代码块
static{
TestStatic.i = 1;
System.out.println(" static var i = " + i);
}

public static void main(String args[]){
//		TestStatic
}

}

 
 

run.bat

@echo off
setlocal

set JAVA_HOME=D:/install/develop_tool/java/jdk1.6.0_11
set path=%JAVA_HOME%/bin
rem set CLASSPATH=.;%JAVA_HOME%/lib/dt.jar;%JAVA_HOME%/lib/tools.jar
set CLASSPATH=.;%JAVA_HOME%/lib/dt.jar;%JAVA_HOME%/lib/tools.jar

rem javac TestStatic.java
java -verbose TestStatic

endlocal

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: