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
原文地址:https://www.cnblogs.com/shenzhenhuaya/p/15226181250_shenzhenhua.html