?? 4.9.txt
字號:
一、內(nèi)部類
1、內(nèi)部類
public class N1 {
private int i =2;
//定義內(nèi)部類
// 如果使用 private 修飾符,就不能在類外面訪問
public class InnerClass {
public void fun(){
System.out.println("內(nèi)部類可以訪問外部類的屬性 i= "+ i);
}
//下面的代碼是錯誤的 非static內(nèi)部類不能定義static成員
//public static void fun1(){}
//public static int i =9;
}
// 在內(nèi)部創(chuàng)建內(nèi)部類的對象
public void createInnerClass(){
InnerClass inner = new InnerClass();
inner.fun();
}
}
在類外創(chuàng)建內(nèi)部類的對象:
public class TestInClassDemo {
public static void main(String[] args) {
// 在類的外部創(chuàng)建內(nèi)部類的對象
//方法1
N1 outer = new N1();
N1.InnerClass inner = outer.new InnerClass();
inner.fun();
//方法2
N1.InnerClass inner1 = new N1().new InnerClass();
inner1.fun();
}
2、方法里的內(nèi)部類
public class Ff {
public void fun(){
int j =8;
final int i = 9;
//在方法里定義內(nèi)部類
class Inner{
public void funofinner(){
System.out.println("方法里的內(nèi)部類,只能訪問方法里的 final 變量 "+ i);
int k = i;
//下面的代碼是錯誤的
//j =10;
}
}
Inner in = new Inner();
in.funofinner();
}
}
---------------------------------
public class TestInFunDemo {
public static void main(String[] args) {
Ff demo = new Ff();
demo.fun();
}
}
3.靜態(tài)內(nèi)部類
public class StaticInnerDemo {
int i = 8;
static int j = 9;
public static class InnerClass {
int k =10;
static int m = 99;
public static void staticfun(){
System.out.println("內(nèi)部類可以訪問外部類的static屬性"+j);
//下面的代碼是錯誤的
//System.out.println("內(nèi)部類可以訪問外部類的屬性"+i);
}
public void fun1(){
System.out.println("內(nèi)部類的非靜態(tài)方法被調(diào)用");
}
}
public void outerFun(){
InnerClass in = new InnerClass();
in.fun1();
}
}
-------------------------------------------------------------
在類外創(chuàng)建靜態(tài)內(nèi)部類的對象
public class TestStaticInnerDemo {
public static void main(String [] args){
StaticInnerDemo.InnerClass.staticfun();
StaticInnerDemo.InnerClass in = new StaticInnerDemo.InnerClass();
in.fun1();
}
}
二、Integer類中的方法舉例
public class IntegerDemo {
public static void main(String[] args) {
// 字符串--〉基本類型:
String str = "1";
int i = Integer.parseInt(str);
//基本類型 -- 〉引用類型
Integer in = new Integer(2);
//基本類型 -- 〉字符串
String mystr = String.valueOf(i);
//強(qiáng)烈不推薦使用下面的方法:
String temp = 1+ "";
}
}
-------------------------------------------------------------
public class SimpleDemo {
public static void main(String[] args) {
String str = "2";
System.out.println(str + 3);
int i = Integer.parseInt(str); //把字符串轉(zhuǎn)換為基本類型
System.out.println(i + 3);
System.out.println("*************************************");
ArrayList list = new ArrayList(); //創(chuàng)建ArrayList的對象
Integer itg = new Integer(3); //創(chuàng)建Integer的對象,并為其賦初值
list.add(itg); //為list添加數(shù)據(jù)
Integer itemp = (Integer)list.get(0); //
//System.out.println(itemp +4);
int temp = itemp.intValue();
System.out.println(temp +4);
}
}
三、設(shè)計應(yīng)注意的問題
1.類的設(shè)計
不建議設(shè)計一個萬能類,通常設(shè)計一個功能或一組相關(guān)的功能的類;強(qiáng)烈不建議采用繼承方式使用具體類;不建議使用引用類型數(shù)據(jù)成員;建議作為參數(shù)使用。
2.方法設(shè)計
不要寫太長的方法,如果程序需要知道方法成不成功,用返回值;使用容器類或數(shù)組,把多個結(jié)果存放在返回值中;參數(shù)的個數(shù)不要超過5 個,參數(shù)是實(shí)現(xiàn)方法代碼的必要條件;如果參數(shù)過多,可以用對象、List、數(shù)組作參數(shù)。
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -