這篇建議java開發都看看,對Java方法及加深理解的很深,值得一看!

方法和加深

  • 方法的定義java

    • 修飾符
    • 返回類型
    • break:跳出switch,結束循環 和 return 的區別
    • 方法名:注意規範 見名知意
    • 參數列表(參數類型,參數名)…
    • 異常拋出
    // Demo01  類
    public class Demo01 {
    
        // main 方法
        public static void main(String[] args) {
    
        }
    
        /*
        修飾符 返回值類型 方法名(……){
            //方法體
            return 返回值;
        }
        */
        // return 結束方法,返回一個結果!
        public String sayHello(){
            return "hello,world";
        }
        public void print(){
            return;
        }
        public int max(int a,int b){
            return a>b ? a : b; // 三元運算符
        }
     }
  • 方法的調用性能優化

    • 靜態方法
    • 非靜態方法
    • 形參和實參
    • 值傳遞和引用傳遞
    • this 關鍵字
    package com.opp.demo01
    public class Demo2 {
    
        public static void main(String[] args){
            // 靜態方法
        Student.say();
    
        // 非靜態方法
        // 實例化這個類 new
        // 對象類型 對象名 = 對象值;
        Student student = new Student();
        student.say();
        }
    
        // 和類一塊兒加載的
        public static void a(){
            b();//報錯
        }
        // 類實例化 以後才存在
        public void b(){
    
        }
    }
    
    //==================================
    package com.oop.demo01;
    // 學生類
    public class Student{
    
        // 靜態方法
        public static void say(){
            System.out.println("學生說話了");
        }
    
        // 非靜態方法
        public void say2(){
             System.out.println("學生說話了");
        }
    }
    //形參和實參
    public static boid main(String[] args){
        // 實際參數和實際參數的類型要對應
        int add = Demo03.add(1,2);
        System.out.println(add);
    }
    public static int add(int a,int b){
        return a+b;
    }
    // 值傳遞
    public class Demo04{
        public static void main(String[] args){
            int a = 1;
            System.out.println(a);// 1
    
            Demo04.change(a);
            System.out.println(a);// 1
        }
    
        // 返回值爲空
        public static void change(int a){
            a = 10;
        }
    }
    // 引用傳遞:對象,本質仍是值傳遞
    public class Demo05{
        public static void main(String[] args){
            Person person = new Person();
            System.out.println(person.name);//  null
    
            Demo05.change(person);
            System.out.println(person.name);// 裏
        }
        public static void change(Person person){
            // person 是一個對象:指向的 ---》 Person person = new Person();這是一個具體的人,能夠改變屬性!
            person.name = "裏";
        }
    }
    
    // 定義了一個Person類,有一個屬性:name
    class Person{
        String name;
    }

類與對象的關係

  • 類是一種抽象的數據類型,它是對某一類事物總體描述/定義,可是並不能表明某一個具體的事物。架構

    • 動物、植物、手機、電腦……
    • Person類、Pet類、Car類等,這些類都是用來描述/定義某已類具體的事物應該具有的特色和行爲
  • 對象是抽象概念的具體實例併發

    • 張三就是人的一個具體實例,張三家裏的旺財就是狗的一個具體實例。
    • 可以體現出特色,展示出功能的是具體的實例,而不是一個抽象的概念。

建立與初始化對象

  • 使用new關鍵字建立對象
  • 使用new關鍵字建立的時候,除了分配內存空間以外,還會給 建立好的對象 進行默認的初始化以及 對類中構造器的調用。
  • 類中的構造器也成爲構造方法,是在進行建立對象的時候必需要調用的。而且構造器有如下兩個特色:分佈式

    • 一、必須和類的名字相同
    • 二、必須沒有返回值類型,也不能寫void
  • 構造器必需要掌握
  • 代碼實例(類與對象的建立):
public static void main(String[] args) {
    // 類:抽象的,實例化
    // 類實例化後會返回一個本身的對象!
    // student 對象就是一個Student 類的具體實例!

    Student xiaoming = new Student();
    Student xh = new Student();

    xiaoming.name = "小明";
    xiaoming.age = 3;

    System.out.println(xiaoming.name);
    System.out.println(xiaoming.age);

    xh.name = "小紅";
    xh.age = 3;

    System.out.println(xh.name);
    System.out.println(xh.age);
}

// 學生類
public class Student{
    // 屬性:字段
    String name;// null
    int age;// 0

    // 方法
    public void study(){
        System.out.println(this.name+"在學習");
    }
}
  • 代碼實例(構造器詳解):
public static void main(String[] args) {
    //new 實例化了一個對象
    Person person = new Person();

    System.out.println(person.name); // LiBo
}

// java ---> class
public class Person {
    // 一個類即便什麼都不寫,它也會存在一個方法
    // 顯示定義構造器

    String name;

    // 實例化初始值
    // 一、使用new關鍵字,本質實戰調用構造器
    public Person() {
        this.name = "LiBo"
    }

    // 有參構造:一旦定義了有參構造,無餐就必須顯示定義
    public Person(String name){
        this.name = name;
    }

    //alt + insert 快捷建立構造器
}
  • 總結
  • 構造器:一、和類名相同 二、沒有返回值
  • 做用:
  • 一、new 本質在調用構造方法
  • 二、初始化對象的值
  • 注意點:
  • 一、定義有參構造以後,若是想使用無參構造,顯示的定義一個無參構造

簡單小結類與對象

  1. 類與對象微服務

    • 類是一個模板:抽象,對象是一個具體的實列
  2. 方法高併發

    • 定義、調用!
  3. 對應的引用oop

    • 引用類型、基本類型(8)
    • 對象是經過引用來操做的:棧 ----> 堆
  4. 屬性:字段Field 成員變量源碼分析

    • 默認初始化:性能

      • 數字:0 0.0
      • char:u0000
      • boolean:false
      • 引用:null
    • 修飾符 屬性類型 屬性名 = 屬性值;
  5. 對象的建立和使用

    • 必須使用new 關鍵字建立對象,構造器 Person muzi = new Person();
    • 對象的屬性 muzi.name
    • 對象的方法 muzi.sleep();
    • 靜態的屬性 屬性
    • 動態的行爲 方法

最後

最後提供免費的Java架構學習資料,學習技術內容包含有:Spring,Dubbo,MyBatis, RPC, 源碼分析,高併發、高性能、分佈式,性能優化,微服務 高級架構開發等等。關注個人公衆號前程有光便可獲取!

相關文章
相關標籤/搜索