Java基础语法入门

一个Java程序是一系列对象的集合,这些对象通过调用彼此的方法来协同工作。

*对象:对象就是类的实例,有状态和行为。

*类:类是一个模板,它描述一类对象的行为(方法)和状态(属性)。

*方法:方法就是行为。

*实例变量:每个对象都有独特的实例变量,对象的状态由这些实例变量的值决定。

1.Java运行原理

2.变量的声明

声明语法: 数据类型  变量名;

赋值:变量名=值;

1 int a;//声明变量
2 a=123;//变量赋值

3.标识符

(1)标识符是用于类名、变量名、方法名、对象名、数组名等的命名;

(2)可以使用英文、数字、下划线_、$符号;

(3)不能以数字开头;

(4)不能使用Java关键字或保留字(指在高级语言中已经定义过的字);

(5)区分大小写;

4.注意事项

(1)当声明的类使用public关键字修饰时,源文件名必须跟该类名保持一致;

(2)一个.java源文件中可以声明多个类,但是只能有一个用public修饰的类;

(3)内中声明的类,称为内部类;

5.注释

(1)单行注释:   //一行注释

(2)多行注释:   /*

          *多行注释

          */

(3)文档注释:(这个很重要,养成习惯写)

/**

  *@author

  */

6.运算符

  *1.算数运算符

  *2.关系原算符(条件运算)

  *3.赋值运算

  *4.逻辑运算符

    &&当且仅当两个操作数为真,条件为真  

    ||任意一个为真,条件为真  

    !非运算

  *5.位运算

  *6.条件运算符

7.Java修饰符

(子类继承父类的public、protected方法,不继承父类的private方法,其继承过来的方法的访问修饰符不能小于父类的访问修饰符)

Java可以使用修饰符来修饰类中方法和属性。主要有两类修饰符:

*访问控制修饰符:default,public,protected,private

  类(接口): public 默认(default)

  变量/方法/对象: private protected public

  **私有的访问修饰符-private:

    被声明为private的方法、变量、和构造函数只能被所属类访问。

    声明为private的变量只能通过类中的公共的方法getter()方法被外部类访问。

    private主要用来隐藏类的实现细节和保护类的数据。

class A{
  private int a;
  private A(){
  }
  public void setA(int a){
    this.a=a;
   }
   public int getA(){
     return this.a; 
   }

   private void ha(){
   }
//私有的只能在类中使用,变量可以通过get  set来访问
}        

  **公有访问修饰符-public:

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

 1 public class A{
 2  public int a;
 3 
 4  public A(){
 5  }
 6 
 7  public void ha(){
 8  }    
 9 }
10 
11 public interface A{
12 
13 }

  **受保护的访问修饰符-protected:

    1.子类于基类在同一包中:被声明为protected的变量、方法和构造器能被同一个包中任何

    其他类访问;

    2.子类与基类不在同一个包中:那么在子类中,子类实例可以访问其从基类继承而来的

    protected方法,而不能访问基类实例的protected方法。

*非访问控制修饰符:final,abstract,static,synchronized,volatile

  static:修饰类方法和类变量。

    *静态变量:static用来声明类变量,无论类实例了多少对象,它的静态变量只有一份拷贝。局部变量不能被声明为static变量。

    *静态方法:static用来声明类方法,静态方法不能使用类的非静态变量。

  final:修饰类、方法、变量,final修饰的类不能被继承,修饰的方法不能被继承类重定义,修饰的变量为常量,是不可修改的。

    *final变量:变量一旦赋值,就不能重新赋值。eg:final int VALUE=10;

    final和static一起来创建类常量:public static final int VALUE2=66;

    *final方法:类中的final方法可以被子类继承,但是不能被子类修改。

    声明final方法的主要目的防止该方法的内容被修改。

    *final类:final类不能被继承。

  abstract:用来创建抽象类和抽象方法。

    *抽象类:抽象类不能实例化对象,声明抽象类的唯一目的是为了将来对该类进行扩充。

    一个类不能同时被abstract和final修饰。一个类包含抽象方法,该类一定是抽象类。

    *抽象方法:抽象方法是一种没有任何实现的方法,该方法的具体实现由子类提供。抽象

     方法不能声明成final和static。子类必须实现父类的所有抽象方法,除非子类也是抽象方法

  synchronized和volatile:用于线程。

    synchronized声明的方法同一时间只能被一个线程访问。

  transient:序列化的对象包含被transient修饰的实例变量时,Java虚拟机跳过该特定的变量。

  volatile:volatile修饰的成员变量在每次被线程访问时,都强制从共享内存中重新读取该成员

      变量的值。而且,当成员变量发生改变时,会强制线程将变化值回写到共享内存。

      这样在任何时刻,两个不同的线程总是看到某个成员变量的同一个值。


Java数组

数组是存储在堆上的对象,可以保存多个同类型变量。

int[] arr1={1,2,3,4,5};

int[] arr2=new int[10];

int[] arr3=new int[]{1,2,3,4,5};


Java枚举

Java5.0引入了枚举,枚举限制变量只能是预先设定好的值。使用枚举可以减少代码中的bug。

例如,我们写一个果汁类,它限制了果汁的大杯、中杯、小杯。这就意味着它不允许顾客点除了这三种以外尺寸的果汁。

实例:

 1 class FreshJuice {
 2    enum FreshJuiceSize{ SMALL, MEDIUM , LARGE }
 3    FreshJuiceSize size;
 4 }
 5  
 6 public class FreshJuiceTest {
 7    public static void main(String []args){
 8       FreshJuice juice = new FreshJuice();
 9       juice.size = FreshJuice.FreshJuiceSize.MEDIUM  ;
10    }
11 }

Java关键字--不能用于标识符的名称

可以分类


继承

在Java中,一个类可以由其他类派生。

利用继承的方法,可以重用已有类的方法和属性,不用重写代码。


 

 接口

 在Java中,接口可以理解为对象间相互通信的协议。接口在继承中扮演很重要的角色。

接口只定义派生要用到的方法,但是方法的具体实现完全取决于派生类。

原文地址:https://www.cnblogs.com/xjs1874704478/p/10745684.html