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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java 毕向东 内部类_java基础内部类(毕向东老师)

發布時間:2023/12/4 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java 毕向东 内部类_java基础内部类(毕向东老师) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

內部類

//特點:內部類可以直接訪問外部類的成員,

//外部類要訪問內部類中的成員必須創建內部類的對象。

//為什么要定義內部類呢?

類是用于描述事物的,而事務中如果還有具體的事物,而且這個內部的事物在訪問著所屬事物

中的內容,這時這個內部的事物,也需要用到類來描述。這個類就是內部類。

為什么內部類可以直接訪問外部類的成員?

因為內部類都持有一個外部類的引用。外部類名。this。

static class Inner{

int num=5;

void method(){

{

int num=6;

System.out.println("method run.."+num);

}

public void show(){

System.out.println("num+"num);

Inner in=new Inner();

in.method();

System.out.println("num="+Outer.this.num);

}

}

class Haha{

class Inner{

}

}

class InnerClassDemo{

public static void main(String[] args)

{

new Outer().show();

//直接在其他類中訪問一個類的內部類。

//因為Inner是一個成員,可以先創建一個對象。

Outer.Inner in= new Outer().new Inner();

in.method();

//直接new內部類對象。//調用內部類中的非靜態成員method

Outer.Inner in= new Outer.Inner();

in.method();

//訪問靜態內部類中的靜態成員,不需要對象。

Outer.Inter.function();

}

}

}

內部類也可以定義在外部類的局部位置上。

內部類定義在局部位置上,不允許訪問局部中的變量。

只能訪問被final修飾的局部常量。只能訪問被final修飾的局部常量。。。

class Outer

{

private int num=4;

private Object obj;

public void show(final int y){

final int x=5;

class Inner{

void method(){

System.out.println("num="+num);

System.out.println("x="+x);

}

}

obj=new Inner();

class InnerClassDemo3

{

public static void main(String[] args)

{

System.out.println("Hello World:");

}

}

方法要被對象調用,X只在show方法中有效。

//匿名內部類

凡是匿名都是簡寫格式。

要定義匿名內部類必須有前提,內部類需要繼承或者實現一個外部的類或者借口

這時才能簡寫成匿名內部類的形式。

匿名內部類。其實就是 Demo的一個對象。這個對象用{}結尾內部定義了成員

也就是說是一個帶有成員內容的對象,這個對象有點兒胖。

abstract class Demo

{

abstract void show();

}

class Outer

{

private int num=5;

class Inner(沒名字怎么辦?) extends Demo//多了這一條,可以進行簡寫了

{

void show()

{

System.out.println("show run..."+num);

}

}

public void method(){

Inner in=new Inner();

in.show();

//在創建對象的過程中就對其進行描述。

格式:new 父類名或接口名().成員。

//匿名內部類:其實就是 Demo的一個匿名子類對象。Demo類型的,多態的。

new Demo()

{

void show(){

System.out.println("show run..."+num);

}

}.show();(對象調用方法。)//描述在上面,畢老師說有點兒胖。

}

}

class NoInnerClassDemo

{

public static void main(String[] args){

Outer out=new Outer();

out.method();

}

}

//interface Inter

{

void show();

void show();

}

class Outer{

class Inner implements Inter

{

public void show1()

{}

public void show2()

{}

}

public void method(){

new Inter()

{public void show1()

{}

public void show2()

{}

Inner in=new Inter();

{

private int a=3;

public void show1(){}

public void show2(){}

public void show3(){}

};

in.show1();

in.show2();

in.show3();//不可以。因為這個子類對象已經升級為了Inter接口類型,只能使用Interzhong

的方法,不能使用子類的特有方法。

}

}

}

class NoInnerClassDemo2

{

public static void main(String[] args)

{

new Object()//Object obj=new object()

{

public void show(){

System.out.println("object show run......");

}

public String toString()

{

return "object tostring";

}

};

System.out.println(obj.tostring());

obj.show();

new Inner();

}

class Inner

{

}

public void function()

{

new Inner();

}

}

主函數能直接訪問的都是靜態的。隨類的加載而可以新建對象進行訪問。

總結

以上是生活随笔為你收集整理的java 毕向东 内部类_java基础内部类(毕向东老师)的全部內容,希望文章能夠幫你解決所遇到的問題。

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