⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 4.9.txt

📁 java学习的点滴
💻 TXT
字号:
一、内部类

1、内部类
	public class N1 {
	
	

	    
		private int i =2;
		
		//定义内部类
		// 如果使用 private 修饰符,就不能在类外面访问
		public class InnerClass {
			
			public void fun(){
				System.out.println("内部类可以访问外部类的属性 i=  "+ i);
			}
			
			//下面的代码是错误的  非static内部类不能定义static成员
			//public static void fun1(){}
			
			//public static int i =9;
				
			
		}

		
		// 在内部创建内部类的对象
		
		public void createInnerClass(){
		    
		    
			InnerClass inner = new InnerClass();
			inner.fun();
		}


	}

在类外创建内部类的对象:
public class TestInClassDemo {

    public static void main(String[] args) {
        
		// 在类的外部创建内部类的对象
		//方法1
        N1 outer = new N1();
		
        N1.InnerClass inner = outer.new InnerClass();
		inner.fun();
		
		//方法2
		N1.InnerClass inner1 = new N1().new InnerClass();
		inner1.fun();

    }

2、方法里的内部类

public class Ff {
  
	public void fun(){
		int j =8;
		final int i = 9;
		
		//在方法里定义内部类
		class Inner{
			public void funofinner(){
				System.out.println("方法里的内部类,只能访问方法里的 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.静态内部类

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("内部类可以访问外部类的static属性"+j);
			//下面的代码是错误的
			//System.out.println("内部类可以访问外部类的属性"+i);
		}
		
		public  void fun1(){
			System.out.println("内部类的非静态方法被调用");
		}
	}
	
	public void outerFun(){
		InnerClass in = new InnerClass();
		in.fun1();
		
	}

}
-------------------------------------------------------------

在类外创建静态内部类的对象
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);
		
		//强烈不推荐使用下面的方法:
		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);     //把字符串转换为基本类型
        
        System.out.println(i + 3);
        
        
        
        
        System.out.println("*************************************");
        ArrayList list = new ArrayList();     //创建ArrayList的对象
        
        Integer itg = new Integer(3);        //创建Integer的对象,并为其赋初值
        
        list.add(itg);                    //为list添加数据
        
        Integer itemp = (Integer)list.get(0);  //
        
        //System.out.println(itemp +4);
        
        int temp = itemp.intValue();
        System.out.println(temp +4);
      
               
    }
}

三、设计应注意的问题

1.类的设计
    不建议设计一个万能类,通常设计一个功能或一组相关的功能的类;强烈不建议采用继承方式使用具体类;不建议使用引用类型数据成员;建议作为参数使用。
2.方法设计
    不要写太长的方法,如果程序需要知道方法成不成功,用返回值;使用容器类或数组,把多个结果存放在返回值中;参数的个数不要超过5 个,参数是实现方法代码的必要条件;如果参数过多,可以用对象、List、数组作参数。

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -