Java关键词 —— 标识符

版权声明:来自追求极客技术的极客人(Hackyle)——相信技术成就梦想、实现自身价值! https://blog.csdn.net/ComputerGeekHack/article/details/88921315


古今之成大事业、大学问者,必经过三种之境界:
     “昨夜西风凋碧树。独上高楼,望尽天涯路。”此第一境也。
     “衣带渐宽终不悔,为伊消得人憔悴。”此第二境也。
     “众里寻他千百度,蓦然回首,那人正在灯火阑珊处。”此第三境也。
     此等语皆非大词人不能道。

  ——王国维《人间词话》


标识符定义:

Java语言中,对于变量,常量,函数,语句块也有名字,我们统统称之为Java标识符。标识符是用来给类、对象、方法、变量、接口和自定义数据类型命名的。


内置标识符

第一类:访问修饰符

private/default(package)/protected/public【RARU】访问控制逐步开放,依次是:

    当前类>同一包内>子孙类>其他包

具体一点就是:

public: 表示后续的变量或函数可以在其他任何类的任何地方存取

protected: 只能在本身或引申的子类中存取  注意:不能修饰类(外部类)

private: 只能在本身存取  注意:不能修饰类(外部类)

default缺省形式,又叫 friendly、package,即友好方式;不使用任何修饰符

     表示后续的变量或操作函数能且只能被同一个包的所有对象存取

第二类:非访问修饰符

  1. static:修饰类方法和类变量。强调永远存在。

静态变量:属于类,不属于对象,也被称为类变量。局部变量不能被声明为 static 变量。

调用方式:

方式一:可以使用对象访问。对象.属性名

方式二:可以使用类名访问。类名.属性名 (推荐使用!)

 

静态方法:属于类,与具体对象没有关系。静态方法不能使用类的非静态变量因为每一个非静态变量是属于每一个对象的(每一个对象的数据是不同的)。因为不属于对象,故而没有thissuper。静态方法从参数列表得到数据,然后计算这些数据。

 

 

    2. final:修饰类、方法和变量。强调永远不变。

final类:修饰的类不能够被继承;这是因为继承后要被重写,而父类已经永不可变,故禁止继承;

public final class Test { 
// 类体 
}

 

final变量:

final double PI = 3.1415927;

final方法:修饰的方法不能被继承类重写;

public class Test{ 
    public final void changeName(){  //注意final所在的位置:返回类型之前;
    // 方法体 
    } 
}

3. abstract:创建抽象类、抽象方法。

// 这就是一个抽象类
abstract class Animal {
    String name;
    int age;

    // 动物会叫
    public abstract void cry(); // 不确定动物怎么叫的。定义成抽象方法,来解决父类方法的不确定性。
    //抽象方法在父类中不能实现,所以没有函数体。但在后续在继承时,要具体实现此方法。
}

// 抽象类可以被继承
// 当继承的父类是抽象类时,需要将抽象类中的所有抽象方法全部实现。
class cat extends Animal {
    // 实现父类的cry抽象方法
    public void cry() {
        System.out.println("猫叫:");
    }
}
abstract void xxx(); //抽象方法

自定义标识符

1,组成:字母(a-zA-Z) 、数字(0-9) 、 下划线(_)、 美元符号($).

2,不能以数字开头;区分大小写;见名知意;不可关键字、保留字;

使用范式:

           1,类名和接口名单词的首字母大写,其他字母小写;如RunTime.

            2,变量名与方法名首单词全部小写,其他单词首字母大写,其他小写;如doCook();

            3,包名全小写;

           4,常量全部大写,单词间用_分割;如UP_DIRECTION;

 

实例:

      12abc_   不合法  数字不能开头

       _12abc    合法

       $ab12#    不合法  #号不属于标识符组成元素。

       abc@123   不合法  @号不属于标识符组成元素。


猜你喜欢

转载自blog.csdn.net/ComputerGeekHack/article/details/88921315