static private 与 final 的用法总结 用private static final定义的变量的问题

private final static \u00d7\u00d7 \u548cprivate static final xx \u4e24\u8005\u4fee\u9970\u53d8\u91cf\u7684\u533a\u522b

java\u4e2d\u7684\u4fee\u9970\u7b26\u5206\u4e3a\u7c7b\u4fee\u9970\u7b26\uff0c\u5b57\u6bb5\u4fee\u9970\u7b26\uff0c\u65b9\u6cd5\u4fee\u9970\u7b26\u3002\u6839\u636e\u529f\u80fd\u7684\u4e0d\u540c\uff0c\u4e3b\u8981\u5206\u4e3a\u4ee5\u4e0b\u51e0\u79cd\u3002
1\u3001\u6743\u9650\u8bbf\u95ee\u4fee\u9970\u7b26
public,protected,default,private,\u8fd9\u56db\u79cd\u7ea7\u522b\u7684\u4fee\u9970\u7b26\u90fd\u53ef\u4ee5\u7528\u6765\u4fee\u9970\u7c7b\u3001\u65b9\u6cd5\u548c\u5b57\u6bb5\u3002

\u5305\u5916 \u5b50\u7c7b \u5305\u5185 \u7c7b\u5185
public yes yes yes yes
protected no yes yes yes
default no no yes yes
private no no no yes

2\u3001final\u4fee\u9970\u7b26
final\u7684\u610f\u601d\u662f\u4e0d\u53ef\u53d8\uff0c\u4ed6\u53ef\u4ee5\u4fee\u9970\u7c7b\u3001\u5b57\u6bb5\u3001\u65b9\u6cd5\u3002\u4fee\u9970\u7c7b\u540e\u7c7b\u4e0d\u80fd\u88ab\u6269\u5c55\uff08extends\uff09\uff0c\u4e5f\u5c31\u662f\u4e0d\u80fd\u88ab\u7ee7\u627f\u3002\u4fee\u9970\u5b57\u6bb5\u540e\u5b57\u6bb5\u7684\u503c\u4e0d\u80fd\u88ab\u6539\u53d8\uff0c\u56e0\u6b64\u5982\u679c\u6709final\u4fee\u9970\u5b57\u6bb5\uff0c\u5e94\u8be5\u5bf9\u5b57\u6bb5\u8fdb\u884c\u624b\u52a8\u521d\u59cb\u5316\u3002\u4fee\u9970\u65b9\u6cd5\u540e\u8be5\u65b9\u6cd5\u4e0d\u80fd\u88ab\u6539\u53d8\uff0c\u4e5f\u5c31\u662f\u91cd\u5199\u3002
3\u3001abstract\u4fee\u9970\u7b26
abstract\u662f\u62bd\u8c61\u7684\u610f\u601d\uff0c\u7528\u6765\u4fee\u9970\u7c7b\u548c\u65b9\u6cd5\uff0c\u4fee\u9970\u7c7b\u540e\uff0c\u8be5\u7c7b\u4e3a\u62bd\u8c61\u7c7b\uff0c\u4e0d\u80fd\u88ab\u5b9e\u4f8b\u5316\uff0c\u5fc5\u9700\u8fdb\u884c\u6269\u5c55\u3002\u4fee\u9970\u65b9\u6cd5\u540e\uff0c\u8be5\u65b9\u6cd5\u4e3a\u62bd\u8c61\u65b9\u6cd5\u5fc5\u987b\u88ab\u5b50\u7c7b\u91cd\u5199\uff08override\uff09\u3002
4\u3001static\u4fee\u9970\u7b26
static\u7528\u6765\u4fee\u9970\u5185\u90e8\u7c7b\uff0c\u65b9\u6cd5\uff0c\u5b57\u6bb5\u3002\u4fee\u9970\u5185\u90e8\u7c7b\u8bf4\u660e\u8be5\u5185\u90e8\u7c7b\u5c5e\u4e8e\u5916\u90e8\u7c7b\u800c\u4e0d\u5c5e\u4e8e\u5916\u90e8\u7c7b\u7684\u67d0\u4e2a\u5b9e\u4f8b\u3002\u4fee\u9970\u5b57\u6bb5\u8bf4\u660e\u8be5\u5b57\u6bb5\u5c5e\u4e8e\u7c7b\u800c\u4e0d\u5c5e\u4e8e\u7c7b\u5b9e\u4f8b\u3002\u4fee\u9970\u65b9\u6cd5\u8bf4\u660e\u8be5\u65b9\u6cd5\u5c5e\u4e8e\u7c7b\u800c\u4e0d\u5c5e\u4e8e\u7c7b\u5b9e\u4f8b
\u4f60\u6240\u8bf4\u7684\u4fee\u9970\u7b26\u987a\u5e8f\u662f\u6ca1\u6709\u533a\u522b\u7684

private \u5b9a\u4e49\u540e\u53ea\u80fd\u518d\u540c\u4e00\u7c7b\u4e2d\u4f7f\u7528
static \u8bf4\u660e\u8be5\u7c7b\u662f\u7c7b\u65b9\u6cd5 \u4e0d\u80fd\u8c03\u7528\u5b9e\u4f8b\u65b9\u6cd5
final \u8bf4\u660e\u8be5\u65b9\u6cd5\u4e0d\u80fd\u88ab\u91cd\u5199

\u4e00\u822c\u5c31\u5728 \u7cfb\u7edf\u81ea\u5b9a\u4e49\u7684\u65b9\u6cd5\u5185\u7528\u3002
\u4e5f\u7528\u5728\u62bd\u8c61\u7c7b\u91cc\u9762

1.static表示静态。他是属于类的。可以在本身类里直接调用,或在其它类里用类名.方法名调用。不加static表示是实例的方法,必须用实例来调用。在本类里也一样,必须用实例调用

2.private是私有的意思.
// 比如
private class Demo{
//这样的话,Demo类就是私有的了.
// 请注意 类是不能用private修饰的,
// 当类被修饰成private没有任何意思.
// 因为外部任何对象都访问不到Demo类了.

private String str;
//这样的话 str属性就私有的了
//外部类就访问不到这个属性了

private void hello(){
//这样的话外部类就访问不到hello()方法了
//比如你肯定希望你有些私有的东西
//用常人的思想去理解java oop
}
}
//用private关键字:使得你的程序更安全
//变量一般都是用private申明
//然后再本类通过 set get 方法控制该属性

3.final—修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为 abstract的,又被声明为final的。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为final的方法也同样只能使用,不能重载。

static: 静态修饰复符

private:私有的,定义私有属性或方法,不能被其他类调用

final:不可变制的。

一般程序把新产生的动态数据存放在堆区,函数内部的自动变量存放在栈区。自动变量一般会随着函数的退出而释放空间,静态数据(即使是函数内部的静态局部变量)也存放在全局数据区。全局数据区的数据并不会因为函数的退出而释放空间。

扩展资料:

注意:在一个static 方法中引用任何实例变量都是非法的。

下面是该程序的输出:

Static block initialized.

x = 42

a = 3

b = 12

使用 static修饰符声明属于类型本身而不是属于特定对象的静态成员。static修饰符可用于字段、方法、属性、运算符、事件和构造函数,但不能用于索引器、析构函数或类以外的类型。例如,下面的类声明为 static,并且只包含 static方法。



static: 静态修饰符
private:私有的,定义私有属性或方法,不能被其他类调用
final:不可变的。

我们在系统中经常定义某个常量(对象的值不可变)如下:

private static final String VAR = "This is a unable changed Variable";
该变量只能在当前这个类中被使用,并且是带有static修饰的静态函数中被调用。加了final则该属性的值将不能被改变。

扩展阅读:www.sony.com.cn ... private protected ... native static dhcpv6 ... public static void ... state privilege ... state approved ... motivation motivate ... private static final ... stay motivated ...

本站交流只代表网友个人观点,与本站立场无关
欢迎反馈与建议,请联系电邮
2024© 车视网