外部類,內部類,匿名類,外部類就是兩個類并列的class
沽源網站建設公司成都創新互聯,沽源網站設計制作,有大型網站制作公司豐富經驗。已為沽源千余家提供企業網站建設服務。企業網站搭建\外貿網站制作要多少錢,請找那個售后服務好的沽源做網站的公司定做!
A
{}
class
B
{},內部類:class
A
{
class
B
{}},B可以直接使用包涵它的類的成員變量,內部類不能被除包涵類以外的類調用;還有就是匿名類,也是內部類
classA{new
{}}省略定義類名直接定義方法和使用,這個適用于代碼比較簡單且這個類不需要被其他類調用
首先,你要知道,變量i是局部變量,j是靜態的全局變量。
其次,你要明白,在Java中,基本類型的參數,如int、float、char等,都是按值傳遞的,而對象,如String等是按引用傳遞,跟C++里面的按地址傳遞類似。
最后解釋:在amethod()方法中,你傳遞了參數i,并在方法內部分別為i和j的值乘以2,然而,在方法體內部,i的確是編程了20,j也變成了40.
但是,出了該方法體,當回到main方法時,i的值是沒有改變的,因為剛剛是按值傳遞的,在main中i的值依舊是10,而j因為是靜態變量,自然對它的作用是有效的。
所以,最后的結果就如你所見了。
最后,推薦一個Java基礎群:84994654
因為你使用system.out.println這個方法輸出個對象的時候,因為只能輸出字符串,所以系統就會默認調用類中的toStringf方法,因為這個方法是源自object類的,所以幾乎所有的類都有這個方法。而你的代碼重寫了這個方法,所以輸出的時候就調用了這個方法,然后按你的規則進行了輸出。
比如
public?class?Test{
public?Test(){}
public?void?toString(){
System.out.println("----test------");
}
//假設:Test?test=new?Test();
//???System.out.println(test);?
//輸出的結果就是"----test------"
}
public?class?Demo?{
public?static?void?main(String[]?args)?throws?IOException?{
String?cmd?=?"notepad.exe";//要打開的外部程序路徑
Runtime?runtime?=?Runtime.getRuntime();
Process?p?=?runtime.exec(cmd);
}
}
以上為核心代碼,自己可以把路徑從外部傳入,再打成一個可執行文件。
private int x=3;
int a;
static class Inner
{
int x = 4;
public void function() {
int x = 6;
System.out.println(x);
System.out.println(this.x);
// System.out.println(Outer.this.x);//內部類可以直接訪問外部類中的成員,包括私有。(訪問私有)
// method();//內部類可以直接訪問外部類中的成員,包括私有。(該訪問成員)
}
}
public static void main(String[] args){
new Inner().function();
}
只能這樣做,把內部類改成 靜態的 直接new一個類 調方法
%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%
這個import就是
網站欄目:java外部代碼,java 外部類
轉載注明:http://vcdvsql.cn/article22/heddjc.html
成都網站建設公司_創新互聯,為您提供網站導航、網站內鏈、移動網站建設、網站設計、網站收錄、
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯