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