static private 与 final 的用法总结

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

2.private是私有的意思.

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

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

private void hello(){
外部类就访问不到hello()方法了

}
}
用private关键字:使得你的程序更安全
变量一般都是用private申明
然后再本类通过 set get 方法控制该属性

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

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

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

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

abstract:
声明方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。
不能创建abstract 类的实例。然而可以创建一个变量,其类型是一个抽象类,并让它指向具体子类的一个实例。
不能有抽象构造函数或抽象静态方法。Abstract 类的子类为它们父类中的所有抽象方法提供实现,否则它们也是抽象类为。
取而代之,在子类中实现该方法。知道其行为的其它类可以在类中实现这些方法。

static与abstract,它们不能同时用于修饰一个方法。因为abstract的语义就是说这个方法是多态方法,需要subclass的实现。而static方法则是在本类中实现的,编译期绑定,不具有多态行为。
synchronized同步,也是一样的道理,具体可以参考JAVA语言规范

原文地址:https://www.cnblogs.com/pxzbky/p/10324614.html

时间: 2024-10-07 03:43:20

static private 与 final 的用法总结的相关文章

[转] Java中public,private,final,static等概念的解读

作为刚入门Java的小白,对于public,private,final,static等概念总是搞不清楚,到底都代表着什么,这里做一个简单的梳理,和大家分享,若有错误请指正,谢谢~ 访问权限修饰符 public和private是访问权限修饰符,用于控制外界对类内部成员的访问.public:表明对象成员是完全共有的,外界可以随意访问.private:表明对象成员是完全私有的,不容许外界的任何访问. 具体关于public,private的内容请移步:Java对象成员的封装, 进一步有关protecte

final的用法

先来看一段代码 class Car extends Vehicle {     public static void main (String[] args)     {         new  Car(). run();     }     private final void run()     {         System. out. println ("Car");     } } class Vehicle {     private final void run()

【C++基础】 类中static private public protected

静态成员在一个类的所有实例间共享数据 “类属性”,是描述类的所有对象共同特征的一个数据项,对所有对象,它的值相同,static定义,为整个类所共有.相对于“实例属性” 如果static成员是私有类型,则只可通过共有静态成员函数访问 [注意]类中仅对成员进行声明而不初始化,必须在文件作用域的某个地方初始化 在class和main外即全局变量域,int Test::ite=0 ;   public private protected 派生类可访问的类型 可以 可以 可以         [C++基础

static变量和final变量

1.static变量 按照是否静态的对类成员变量进行分类可分两种:一种是被static修饰的变量,叫静态变量或类变量:另一种是没有被static修饰的变量,叫实例变量.两者的区别是: 对于静态变量在内存中只有一个拷贝(节省内存),JVM只为静态分配一次内存,在加载类的过程中完成静态变量的内存分配,可用类名直接访问(方便),当然也可以通过对象来访问(但是这是不推荐的).对于实例变量,每创建一个实例,就会为实例变量分配一次内存,实例变量可以在内存中有多个拷贝,互不影响(灵活). 2.final变量:

[java]static关键字的四种用法

在java的关键字中,static和final是两个我们必须掌握的关键字.不同于其他关键字,他们都有多种用法,而且在一定环境下使用,可以提高程序的运行性能,优化程序的结构.下面我们先来了解一下static关键字及其用法. static关键字 1.修饰成员变量 在我们平时的使用当中,static最常用的功能就是修饰类的属性和方法,让他们成为类的成员属性和方法,我们通常将用static修饰的成员称为类成员或者静态成员,这句话挺起来都点奇怪,其实这是相对于对象的属性和方法来说的.请看下面的例子:(未避

Java中static关键字的作用和用法详细介绍

static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,但是Java语言中没有全局变量的概念. 被static修饰的成员变量和成员方法独立于该类的任何对象.也就是说,它不依赖类特定的实例,被类的所有实例共享. 只要这个类被加载,Java虚拟机就能根据类名在运行时数据区的方法区内定找到他们.因此,static对象可以在它的任何对象创建之前访问,无需引用任何对象. 用public修饰的static成员变量和成员方法本质是全局变量和全局方法,当声明它类

Java—static、this、super用法总结

    通过用static来定义方法或成员,为我们编程提供了某种便利,从某种程度上可以说它类似于C语言中的全局函数和全局变量.(理解为加了static的就是全局变量)但是,并不是说有了这种便利,你便可以随处使用,如果那样的话,你便需要认真考虑一下自己是否在用面向对象的思想编程,自己的程序是否是面向对象的.  好了,现在开始讨论this&super这两个关键字的意义和用法.  在Java中,this通常指当前对象,super则指父类的(super能继承父类的方法).当你想要引用当前对象的某种东西,

类成员(static)和final修饰符

在Java类里只能包含成员变量.方法.构造器.初始化块.内部类(包括接口.枚举)5种成员,类成员是用static来修饰的,其属于整个类. 当使用实例来访问类成员时,实际上依然是委托给该类来访问类成员,因此即使某个实例为null,它也可以访问它所属类的类成员. public class NullAcessStatic { public static void test() { System.out.println("static修饰的类方法"); } public static void

java中final的用法

final从字面翻译来看,有最后的,最终的;  决定性的;  不可更改的等含义,在java里面主要还是“不可改变的”这层意思,不可改变或者不想改变的final主要用在类.方法.数据这三个方面. 一.final类 当我们声明一个类,不想让别人利用这个类来声明子类,就可以把这个类声明为final类.这个类是“断子绝孙”的,也就是不允许被继承,但是它可以继承自其他类.比如: final class Executive extends Manager { … … } 还有一个典型的final类就是Str