还剩8页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
java重点知识总结 java是一门软件语言,学习软件技术的同学们都要学会JAVA编程技术!以下是java重点知识总结,一起来看看吧! 整形 byte1个字节 short2个字节 int4个字节 long8个字节 字符 char2个字节 浮点数 float4个字节 double8个字节 布尔 boolean1个字节 以0b或者0B开头 正无穷大=一个正数除以0 负无穷大=一个负数除以零
0.0除以
0.0或者对一个负数开方得到一个非数 看似像C语言中的多维数组不是真正的数组,比方a
[3]
[4]a
[0]a
[1]a
[2]是真实存在的,装的是地址,和c语言中动态分配为的数组一样 int[][]b=newint
[3]
[4] javac-d.Hello.java会在当前目录下生成目录树 运行java包名字.类名字 格式引用变量名instanceof类名(或者接口)他用于判断前面的对象是否是后面对象的类,子类、实现类的实例,是返回true,否者返回false inta=1; IntegerA=newIntegera; a=A.intValue; 其他的类型也是这样的 复制代码代码如下: classSingleton { privatestaticSingletoninstance; privateSingleton{} publicstaticSingletongetInstance { ifinstance==null { instance=newSingleton; } returninstance; } publicstaticvoidmainString[]args { Singletons1=Singleton.getInstance; Singletons2=Singleton.getInstance; System.out.printlns1==s2; } } 类Field必须在静态初始块中或声明该FIeld时指定初始值 实例Field必须在非静态初始块中或声明该FIeld时指定初始值或构造器中声明 如果用private方法和finalprivate是一样的 假设果是用final修饰的方法在子类中出现,那是子类新定义的,与父类没有关系 复制代码代码如下: classCacheImmutale { privatestaticintMAXSIZE=10; privatestaticCacheImmutale[]cache=newCacheImmutale[MAXSIZE]; privatestaticintpos=0; privatefinalStringname; privateCacheImmutaleStringname { this.name=name; } publicStringgetName { returnname; } publicstaticCacheImmutalevalueOfStringname { forinti=0;iMAXSIZE;++i { ifcache[i]!=nullcache[i].getName.equalsname returncache[i]; } ifpos==MAXSIZE { cache
[0]=newCacheImmutalename; pos=1; } else { cache[pos++]=newCacheImmutalename; } returncache[pos-1]; } publicbooleanequalsObjectobj { ifthis==obj returntrue; ifobj!=nullobj.getClass==CacheImmutale.class { CacheImmutaleci=CacheImmutaleobj; returnname.equalsci.getName; } returnfalse; } publicinthashCode { returnname.hashCode; } } publicclassCacheImmuteTest { publicstaticvoidmainString[]args { CacheImmutalec1=CacheImmutale.valueOfHello; CacheImmutalec2=CacheImmutale.valueOfHello; System.out.printlnc1==c2; } } 用缓存实例要看某个对象的使用频率,假设重复使用那就利大于弊,假设不经常使用那弊就大于利 还有java提供的java.lang.Integer创立数值在-128-127之间的数采用缓存机制的 Integerin2=Integer.valueOf6; Integerin3=Integer.valueOf6; in2==in3istrue;
18.static和abstract不能同时修饰一个方法,没有类抽象方法
19.一个类可以又一个父类,实现多个接口,接口中Filed是public、static、final的,方法是publicabstract的
20.非静态内部类的方法访问某个变量,搜索顺序为先内部类中方法内-内部类-外部类中如果都找不到那么出现编译错误 复制代码代码如下: importjava.util.*; publicclassDiscernVariable { privateStringprop=外部类的实例变量; privateclassInClass { privateStringprop=内部类的实例变量; publicvoidinfo { Stringprop=局部变量; System.out.println外部类的field值+DiscernVariable.this.prop; System.out.println内部类的field值+this.prop; System.out.println局部变量的值+prop; } } publicvoidtest { InClassin=newInClass; in.info; } publicstaticvoidmainString[]args { newDiscernVariable.test; } }
21.非静态内部类不能有静态方法、静态Field、静态初始化块
22.在外部类之外访问内部类 访问非静态内部类outclass.Inclassvarname=newoutclass.newInClass; 访问静态内部类outclass.Inclassvarname=newoutclass.Inclass; 复制代码代码如下: importjava.util.*; classOut { classIn { publicIn { System.out.println非静态内部类构造器; } } } publicclassCreatInnerInstance { publicstaticvoidmainString[]args { Out.Inin=newOut.newIn; /* 以上的代码可分开写为 Out.Inin; Outout=newOut; in=out.newIn; */ } } classSubClassextendsOut.In { //显示定义SubClass的构造器 publicSubClassOutout { //通过转入的Out对象显示调用In的构造器 out.super; } } 复制代码代码如下: importjava.util.*; classStaticOut { staticclassStaticIn { publicStaticIn { System.out.println静态内部类构造器; } } } publicclassCreatStaticInnerInstance { publicstaticvoidmainString[]args { StaticOut.StaticInin=newStaticOut.StaticIn; /* 以上的代码可分开写为 StaticOut.StaticInin; in=newStaticOut.StaticIn; */ } } classSubClassextendsStaticOut.StaticIn { //无须创立内部类实例 }模板内容仅供参考 。