zoukankan      html  css  js  c++  java
  • java基础语法(三大基础)

    一、标识符

      标识符是用于包名、类名、变量名、方法名、对象名、数组名、集合名等的命名;

       规则:

     (1)可以使用英文字母、阿拉伯数字、下划线_、$符号

     (2)不能以数字开头

     (3)不能使用Java中的关键字或保留字

     (4)对大小写敏感

          实例:

     (1)包名标识符:所有字母小写

    package com.my.work01   // com.my.work01 是一个包名

          (2)类名,接口名标识符:所有单词首字母必须大写

     package com.my.work02;
    
    public class Mywork_123$ { //这是一个类名标识符
        public static void main(String[] args){
            System.out.println("HelloWorld!");
        }
    }

     (3)变量名标识符 :一般全部用小写,当被static修饰符修饰时字母全部用大写

    class Demo{
            public static int NUMBER;    //NUMBER是一个静态变量标识符
            String name;    //name是一个实例变量标识符
    }

     (4)方法名标识符:如果是由一个单词组成则字母全小写,如果是由两个单词组成第二个单词的首字母要大写

    class Demo{
           int age;
           String name;
           public void printAnswer{   //printAnswer是方法名标识符
              System.out.println("answer");
        }
    }

     (5)对象名

    class Demo{
           public static void main(String[] args){
           Person person=new Person();  // person是一个对象名标识符
       }
    }

     (6)数组名

           public static void main(String[] args){
                  int arr=new int[5];   //arr是一个数组名标识符 
           }    

     (7)集合名

           public static void main(String[] args){
                  ArrayList<Integer> list=new ArrayList<>();  //list是一个集合名标识符
           }

      错误实例:

    class 10Number{   //错误,不能以数字开头
             private int Integer;   //错误,Integer是关键字
             String my name;    //错误,空格不是组成标识符的元素
    }

    二、修饰符

     (1)访问修饰符:访问修饰符是用来控制其他类对该类的类、实例变量、构造方法、实例方法的访问权限。Java有四种分别是public、protected、默认、private

    • default: (即缺省,什么也不写): 在同一包内可见,不使用任何修饰符。使用对象:类、接口、变量、方法。

    • private : 在同一类内可见。使用对象:变量、方法。 注意:不能修饰类(外部类)

    • public : 对所有类可见。使用对象:类、接口、变量、方法

    • protected : 对同一包内的类和所有子类可见。使用对象:变量、方法。 注意:不能修饰类(外部类)

    修饰符 当前类 同包的类 同包的子类 异包 异包的子类
    public 
    protected    
    默认      
    private        
    public class Adopt implements Runnable{         //public修饰公共的
        private Bank bank;             //private修饰私有的
        protected String name;             //protected修饰受保护的
        double money;            //默认的,权限同protected相等
        public Adopt(Bank bank,double money){
            this.bank=bank;
            this.money=money;
        }

      

         默认访问修饰符-不使用任何关键字

          使用默认访问修饰符声明的变量和方法,对同一个包内的类是可见的。接口里的变量都隐式声明为 public static final,而接口里的方法默认情况下        访问权限为 public。

     

         私有访问修饰符-private

          私有访问修饰符是最严格的访问级别,所以被声明为 private 的方法、变量和构造方法只能被所属类访问,并且类和接口不能声明为 private

          声明为私有访问类型的变量只能通过类中公共的 getter 方法被外部类访问。

          Private 访问修饰符的使用主要用来隐藏类的实现细节和保护类的数据。

          

          公有访问修饰符-public

           被声明为 public 的类、方法、构造方法和接口能够被任何其他类访问。

           如果几个相互访问的 public 类分布在不同的包中,则需要导入相应 public 类所在的包。由于类的继承性,类所有的公有方法和变量都能被其子           类继承。

          受保护的访问修饰符-protected

           protected 需要从以下两个点来分析说明:

    •  子类与基类在同一包中:被声明为 protected 的变量、方法和构造器能被同一个包中的任何其他类访问;

    • 子类与基类不在同一包中:那么在子类中,子类实例可以访问其从基类继承而来的 protected 方法,而不能访问基类实例的protected方法。

         访问控制和继承

          请注意以下方法继承的规则:

    • 父类中声明为 public 的方法在子类中也必须为 public。

    • 父类中声明为 protected 的方法在子类中要么声明为 protected,要么声明为 public,不能声明为 private。

    • 父类中声明为 private 的方法,不能够被继承。

    (2)  非访问修饰符

    • static 修饰符用来修饰类方法和类变量。被static修饰的方法可以通过类名点调用,静态方法储存在方法去中的静态区,随着程序的运行而加载,随着程序的结束而结束,优先于类的加载。静态变量也被称为类变量,也储存在静态区,调用方式同静态方法一样。

    • final 修饰符,用来修饰类、方法和变量,final 修饰的类不能够被继承,修饰的方法不能被继承类重新定义,修饰的变量为常量,是不可修改的,一般和static连用public static final用来修饰接口中的成员变量。
    • abstract 修饰符,用来创建抽象类和抽象方法,子类继承抽象父类时,抽象方法:父类中所有被abstract 修饰的方法必须重写,被abstract修饰的类不能实例化对象,抽象类:抽象类中可以没有抽象方法,抽象类也可以继承非抽象类,同时继承了父类的所有非私有的属性和方法,可以通过两种方式获得抽象类对象:父类引用指向子类对象、匿名内部类。
    • synchronized、transient 和 volatile 修饰符,主要用于线程的编程。synchronized 关键字声明的方法同一时间只能被一个线程访问。synchronized 修饰符可以应用于四个访问修饰符。transient:序列化的对象包含被 transient 修饰的实例变量时,java 虚拟机(JVM)跳过该特定的变量。该修饰符包含在定义变量的语句中,用来预处理类和变量的数据类型。volatile 修饰的成员变量在每次被线程访问时,都强制从共享内存中重新读取该成员变量的值。而且,当成员变量发生变化时,会强制线程将变化值回写到共享内存。这样在任何时刻,两个不同的线程总是看到某个成员变量的同一个值。一个 volatile 对象引用可能是 null。

    三、关键字

      下面列出了 Java 关键字。这些保留字不能用于常量、变量、和任何标识符的名称。

    类别关键字说明
    访问控制 private 私有的
    protected 受保护的
    public 公共的
    类、方法和变量修饰符 abstract 声明抽象
    class
    extends 扩充,继承
    final 最终值,不可改变的
    implements 实现(接口)
    interface 接口
    native 本地,原生方法(非 Java 实现)
    new 新,创建
    static 静态
    strictfp 严格,精准
    synchronized 线程,同步
    transient 短暂
    volatile 易失
    程序控制语句 break 跳出循环
    case 定义一个值以供 switch 选择
    continue 继续
    default 默认
    do 运行
    else 否则
    for 循环
    if 如果
    instanceof 实例
    return 返回
    switch 根据值选择执行
    while 循环
    错误处理 assert 断言表达式是否为真
    catch 捕捉异常
    finally 有没有异常都执行
    throw 抛出一个异常对象
    throws 声明一个异常可能被抛出
    try 捕获异常
    包相关 import 引入
    package
    基本类型 boolean 布尔型
    byte 字节型
    char 字符型
    double 双精度浮点
    float 单精度浮点
    int 整型
    long 长整型
    short 短整型
    变量引用 super 父类,超类
    this 本类
    void 无返回值
    保留关键字 goto 是关键字,但不能使用
    const 是关键字,但不能使用
    null
  • 相关阅读:
    poj 3125 Printer Queue(STL注意事项)
    poj 2823 Sliding Window (STL超时版)
    poj 1088 滑雪 详解
    poj 2983 Is the Information Reliable?
    poj 2524 Ubiquitous Religions (STL与非STL的对比)
    高精度算法集合
    zTree v2.6 v3.0 初始化 / 方法对比
    下面是关于rownum的介绍(oracle)
    web性能优化
    jQueryEasyui,DataGrid几个常用的操作
  • 原文地址:https://www.cnblogs.com/shenzhenhuaya/p/15226181250_shenzhenhua.html
Copyright © 2011-2022 走看看