java里的final和static使用方法


final变量被定义为一个常量,是一个无法修改的量。我们只能给他赋值一次。
final, the variable can be defined as a constant and can not be changed;we only assgin the value for the final variable once.

final定义的方法,无法被重写。
final, the definition of the method can not be covered;

final定义的类,不能被继承
final, the definition of the class can not be inherited.

static.一个分配在内存里的变量。
static, is an area in memory allocated for the entire class of general-purpose, all objects of the class are entitled to the value of its common.

变量可以被修改。我们可以给变量赋值任意次
the variable can be changed. we can assgin a value for the variable any number of times

final static , 我们必须为它赋值。
final static, static preceded by the final.we must assgin a value for the variable.

static and final are not directly related to.

什么时候我们需要使用final
1.when we use final
final.用来保护一个数据,或者方法被重写。
final, used to protect data or methods to be rewritten
1),我们保护一个变量,使他在工程里无法被修改。例如final static double pi = 3.1415926;
1).we protect a variable,make it can not be changed in a project . like { final static double pi = 3.1415926; }
2)保护一个方法被重写
2).we protect a method can not be covered.
3)保护一个类被继承。
3).we protect a method can not be inherited
什么时候使用static
2.when we use static
1)我们需要一个变量,它能被直接在任何对象里使用
1).We need a variable, it can be used directly to any object.
2)我们需要一个方法,它直接被其他对象调用。不需要声明一个新对象。
2).We need a function,it can be used directly to other object,and we do not need to declare a new object.

 
/**
java-er.com
learn java is so easy
*/
 
public class Final
{
	final static int a=10;// we must assign a value for 'a'
	static int b;
	int bx = 5;
 
	public static void main(String[] args){
		//a = 11; //occur a error.  final , assign once
 
		final int ax; // we do not have to assign a value for 'a1'
		ax = 10;
		// ax = 11; //occur a error.  final , assign once
 
		b = 11;
		b = 12; //ok we can assign it any times.
		System.out.println("a " + a);
		System.out.println("b " + b);
 
		// now, b=12, bx=5
		Final f1 =  new Final();
		f1.b++;
		f1.bx++;
		Final f2 = new Final();
		f2.b++;
		f2.bx++;
 
		System.out.println("f2.b " + f2.b);  // b is changed by f1.b++ and f2.b++
		System.out.println("f2.bx " + f2.bx);// bx is only changed by f2.bx++
 
	}
}
如果你是一名技术人员可加我QQ 2651-0442-02,如果你是java技术人还可以加入QQ群 1784-9136-0
你将得到的不仅仅是技术的交流,还有职业机会,人生解惑.
首发地址:月小升博客https://java-er.com/blog/java-final-static/
无特殊说明,文章均为月小升原创,欢迎转载,转载请注明本文地址,谢谢
此条目发表在 JAVA 分类目录,贴了 标签。将固定链接加入收藏夹。
既然来了,就评论一下,不会怀孕的

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">