Java知识点总结.doc_第1页
Java知识点总结.doc_第2页
Java知识点总结.doc_第3页
Java知识点总结.doc_第4页
Java知识点总结.doc_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Java知识点总结 很多初学java的新人不知道哪些java基础知识必须掌握,下面为大家精心整理的Java知识点总结,方便大家学习! 1.基本数据类型 整形: byte1个字节 short2个字节 int4个字节 long8个字节 字符: char2个字节 浮点数: float4个字节 double8个字节 布尔: boolean1个字节 2.java7新增二进制整数 以0b或者0B开头 3.java中字符时16位的Unicode编码方式,格式是uXXXX,其中xxxx代表一个十六进制整数 4.java中规定了正无穷大、负无穷大和零 正无穷大=一个正数除以0 负无穷大=一个负数除以零 0.0除以0.0或者对一个负数开方得到一个非数 5.在java中布尔类型只能是true和false 6.在java中没有多维数组 看似像C语言中的多维数组不是真正的数组,比如a34,a0a1a2是真实存在的,装的是地址,和c语言中动态分配为的数组一样 intb=newint34 7.Java中带包的编译方法 javac-d.Hello.java会在当前目录下生成目录树 运行java包名字.类名字 8.Java多态中的对象的filed不具有多态性,如父类对象=new子类(),对象.field是调用的父类的,即使子类中覆盖了该字段。 9.instanceof运算符 格式:引用变量名instanceof类名(或者接口)他用于判断前面的对象是否是后面对象的类,子类、实现类的实例,是返回true,否者返回false 10.Java中基本数据类型和对应封装类之间的转化 inta=1; IntegerA=newInteger(a); a=A.intValue(); 其他的类型也是这样的。 11.单例(singleton)类例子 复制代码代码如下: classSingleton privatestaticSingletoninstance; privateSingleton() publicstaticSingletongetInstance() if(instance=null) instance=newSingleton(); returninstance; publicstaticvoidmain(Stringargs) Singletons1=Singleton.getInstance(); Singletons2=Singleton.getInstance(); System.out.println(s1=s2); 12.final修饰的成员变量初始化问题 类Field:必须在静态初始块中或声明该FIeld时指定初始值 实例Field:必须在非静态初始块中或声明该FIeld时指定初始值或构造器中声明 13.Final变量必须显式初始化,系统不会对final变量进行隐式初始化 14.java会使用常量池来管理曾经用过的字符串直接常量,例如:Stringa=java;,系统把常量字符串“java”存在常量池,当再次执行Stringb=java;a=b是true 15.final方法不可以重写,final类不能被继承 如果用private方法和finalprivate是一样的 若果是用final修饰的方法在子类中出现,那是子类新定义的,与父类没有关系 16.不可变类:创建后该类的Field是不可改变的。java提供了8个基本变量的包装类和string都是不可改变类。 17.缓存实例的不可改变类 复制代码代码如下: classCacheImmutale privatestaticintMAX_SIZE=10; privatestaticCacheImmutalecache=newCacheImmutaleMAX_SIZE; privatestaticintpos=0; privatefinalStringname; privateCacheImmutale(Stringname) =name; publicStringgetName() returnname; publicstaticCacheImmutalevalueOf(Stringname) for(inti=0;i if(cachei!=null&cachei.getName().equals(name) returncachei; if(pos=MAX_SIZE) cache0=newCacheImmutale(name); pos=1; else cachepos+=newCacheImmutale(name); returncachepos-1; publicbooleanequals(Objectobj) if(this=obj) returntrue; if(obj!=null&obj.getClass()=CacheImmutale.class) CacheImmutaleci=(CacheImmutale)obj; returnname.equals(ci.getName(); returnfalse; publicinthashCode() returnname.hashCode(); publicclassCacheImmuteTest publicstaticvoidmain(Stringargs) CacheImmutalec1=CacheImmutale.valueOf(Hello); CacheImmutalec2=CacheImmutale.valueOf(Hello); System.out.println(c1=c2); 用缓存实例要看某个对象的使用频率,若重复使用那就利大于弊,若不经常使用那弊就大于利 还有java提供的java.lang.Integer创建数值在-128-127之间的数采用缓存机制的 Integerin2=Integer.valueOf(6); Integerin3=Integer.valueOf(6); in2=in3istrue; 18.static和abstract不能同时修饰一个方法,没有类抽象方法 19.一个类可以又一个父类,实现多个接口,接口中Filed是public、static、final的,方法是publicabstract的 20.非静态内部类的方法访问某个变量,搜索顺序为:先内部类中方法内-内部类-外部类中如果都找不到则出现编译错误 复制代码代码如下: importjava.util.*; publicclassDiscernVariable privateStringprop=外部类的实例变量; privateclassInClass privateStringprop=内部类的实例变量; publicvoidinfo() Stringprop=局部变量; System.out.println(外部类的field值:+DiscernVp); System.out.println(内部类的field值:+p); System.out.println(局部变量的值:+prop); publicvoidtest() InClassin=newInClass(); (); publicstaticvoidmain(Stringargs) newDiscernVariable().test(); 21.非静态内部类不能有静态方法、静态Field、静态初始化块 22.在外部类之外访问内部类 访问非静态内部类:outclass.Inclassvarname=newoutclass().newInClass(); 访问静态内部类:outclass.Inclassvarname=newoutclass.Inclass(); 复制代码代码如下: importjava.util.*; classOut classIn publicIn() System.out.println(非静态内部类构造器); publicclassCreatInnerInstance publicstaticvoidmain(Stringargs) Out.Inin=newOut().newIn(); /* 以上的代码可分开写为: Out.Inin; Outout=newOut(); in=out.newIn(); */ classSubClassextendsOut.In /显示定义SubClass的构造器 publicSubClass(Outout) /通过转入的Out对象显示调用In的构造器 out.super(); 复制代码代码如下: importjava.util.*; classStaticOut staticclassStaticIn publicStaticIn() System.out.println(静态内部类构造器); publicclassCreatStaticInnerInstance

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论