日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

java继承和引用_浅谈Java继承、传递

發布時間:2025/3/21 java 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java继承和引用_浅谈Java继承、传递 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、繼承

1. 繼承的概念:

子類繼承父類,表明子類是一種特殊的父類,并且具有父類所不具有的一些屬性或方法。

2. 繼承中的初始化順序:

從類的結構上而言,其內部可以有如下四種常見形態:屬性(包括類屬性和實例屬性)、方法(包括類方法和實例方法)、構造器和初始化塊(包括類的初始化塊和實例的初始化塊)。對于繼承中的初始化順序,又具體分為類的初始化和對象的初始化。

在new創建對象時,首先對對象屬性和初始化塊分配內存,并執行默認初始化。如果存在父類,則先為父類對象屬和初始化塊先分配內存并執行初始化。

然后執行父類構造器中的初始化程序,接著才開始對子類的對象屬性和初始化塊執行初始化。

注:

1. 在對象初始化階段,屬性和方法均針對子類可以從父類繼承過來的屬性和方法而言,一般而言,都是針對父類中非private而言的。

因為private修飾的為父類所特有的,子類沒有繼承過來,當new子類時,無須為其分配空間并執行初始化。當然了,父類的構造器子類也是不繼承過來的,但構造器另當別論。

2. 類的初始化只執行一次,當對同一個類new多個對象時,類屬性和類初始化塊只初始化一次。

3.繼承中的this和super:

構造器中的this表示當前正在初始化的對象引用,方法中的this表示當前正在調用此方法的對象引用。this具體用法表現在一下幾個方面:

1.當具多個重載的構造器時,且一個構造器需要調用另外一個構造其,在其第一行使用this(param)形式調用,且只能在第一行;

2.當對象中一個方法需要調用本對象中其他方法時,使用this作為主調,也可以不寫,實際上默認就是this作為主調;

3.當對象屬性和方法中的局部變量名稱相同時,在該方法中需要顯式的使用this作為主調,以表示對象的屬性,若不存在此問題,可以不顯式的寫this。

super表示調用父類中相應的屬性和方法。在方法中,若需要調用父類的方法時,也一定要寫在第一行。

public class People {

public String name;

private String live="活著";

People(String name){

this.name=name;

System.out.println("人對象"+name+"創建了");

}

public void print(){

System.out.println("name:"+this.name+"\t"+"live:"+this.live);

}

}

public class Student extends People{

public String name;

Student(String n){

super(n);

this.name=n;

System.out.println("學生對象"+name+"已創建");

}

public void print(){

System.out.println("name:"+this.name);

}

}

public class Demo {

public static void main(String [] args) {

Student s=new Student("aaa");

People p=new Student("bbb");

People p2=new Student("ccc");

People p3=p;

s.print();

p.print();

p2.print();

p3.print();

}

}

二、傳遞

傳遞分值傳遞和引用傳遞。

首先要說明的是java中是沒有指針的,java中只存在值傳遞。 然而我們經常看到對于對象(數組,類,接口)的傳遞似乎有點像引用傳遞,可以改變對象中某個屬性的值。但是不要被這個假象所蒙蔽,實際上這個傳入函數的值是對象引用的拷貝,即傳遞的是引用的地址值,所以還是按值傳遞。

值傳遞

指的是在方法調用時,傳遞的參數是按值的拷貝傳遞。

值傳遞重要特點:傳遞的是值的拷貝,也就是說傳遞后就互不相關了

引用傳遞

指的是在方法調用時,傳遞的參數是按引用進行傳遞,其實傳遞的引用的地址,也就是變量所對應的內存空間的地址。

引用傳遞重要特點:傳遞的是值的引用,也就是說傳遞前和傳遞后都指向同一個引用(也就是同一個內存空間)。

student類加入

public void change(String b){

b=name;

}

主函數:public class Demo {

public static void main(String [] args) {

Student s=new Student("aaa");

s.print();

s.change("ccc");

s.print();

}

}

很顯然輸出的 是aaa,aaa。傳遞的是值的一份拷貝,這份拷貝與原來的值沒有關系。

總結

以上是生活随笔為你收集整理的java继承和引用_浅谈Java继承、传递的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。