java中有一个内部类的概念,由于之前一直比较忙,没有单独拿出时间总结一下,今天我就把内部类的相关知识进行一下汇总,如果有不足之处,欢迎批评指正。
1)java内部类的概念。
在一个类的的内部定义的类被称为java的内部类
2)内部类的分类
根据内部类的位置不同,可以大致分为一下两类:
1.普通内部类又叫成员内部类,在方法体的外面定义的内部类
其中普通内部类又分为静态(static修饰的内部类)和非静态(非static修饰的内部类)
2.局部内部类又叫方法内部类,在方法体中定义的内部类
其中普通内部类又分为静态(static修饰的内部类)和非静态(非static修饰的内部类)以及匿名内部类。
3)每种内部类的详细详解
1.普通内部类
package com.xiaohao.test; import java.util.Date; public class Test12 extends Date{ public static void main(String[] args) { new Test12().test(); } public void test(){ System.out.println(getClass().getName()); System.out.println(getClass().getName()); System.out.println(super.getClass().getName()); System.out.println(this.getClass().getSuperclass().getName()); System.out.println(super.getClass()); String str1=new String("Hello World"); String str2=new String("Hello World"); StringBuffer str3=new StringBuffer("Hello World"); StringBuffer str4=new StringBuffer("Hello World"); System.out.println(str1.equals(str2)); System.out.println(str3.equals(str4)); new Object() // long startTime=System.currentTimeMillis(); // for(int i=0;i<50000;i++) // { // str1=str1+i; // } // long endTime=System.currentTimeMillis(); // System.out.println("String一共花费时间为:"+(endTime-startTime)+"ms"); // startTime=System.currentTimeMillis(); // for(int i=0;i<50000;i++) // { // str3=str3.append(i); // } // endTime=System.currentTimeMillis(); // System.out.println("StringBuffer一共花费时间为:"+(endTime-startTime)+"ms"); String str="a,b,c,d,e,f"; String[] strArray=str.split(","); System.out.println(strArray.length); String s1="a"; String s2=s1+"b"; String s3="a"+"b"; System.out.println(s2=="ab"); System.out.println(s3=="ab"); int a=Test12.test2(); System.out.println(a); int i=100; try{ return ; }catch(Exception e){ }finally{ System.out.println(i); } } static int test2(){ int i=10; try{ int b=10; return i; } finally{ ++i; } } }
时间: 2024-11-08 04:32:28