资源预览内容
第1页 / 共10页
第2页 / 共10页
第3页 / 共10页
第4页 / 共10页
第5页 / 共10页
第6页 / 共10页
第7页 / 共10页
第8页 / 共10页
第9页 / 共10页
第10页 / 共10页
亲,该文档总共10页全部预览完了,如果喜欢就下载吧!
资源描述
Java编程时应注意的知识一 对象和类1.对象的创建和使用:(1) 必须有 new关键字创建对象;(2) 使用对象引用.成员方法变量或来引用对象的成员变量。(3) 使用对象引用.方法(参数列表)来调用对象的方法。(4) 同一类的每个对象有不同的成员变量存储空间。(5) 同一类的每个对象共享该类的方法;(6) 非静态方法是针对每个对象进行调用。(7) 在一个类中成员变量的值放在堆内存中,而局部变量的值放在栈内存中。2.在定义一个类时,如果没有给成员变量赋初始值,系统会自动赋默认值,而在定义局部变量时,必须要赋予初始值。3.成员变量的作用范围在整个类中用有效。4.引用类型的默认的初始值是 NULL。5.对象的比较:”=”与 equals()方法的区别是“=”表示两个变量值是否相等;“”Equals()方法表示两个对象的内容是否相等。 6.同一类的每个对象有不同的成员变量存储空间。7.同一类的每个对象共享该类的方法。8.构造方法(构造函数)(1) 使用 new +构造方法创建一个新的对象;如果没有定义构造方法,系统默认创建一个构造方法,一旦用户定义了,系统就不在提供构造方法了;例如:默认的 Point() 我们可以调用对象 Point p = new Point();(2) 构造函数是定义在 Java类中的一个用来初始化对象的函数;(3) 构造方法与类同名且没有返回值;(4) 当没有指定构造函数时,编译器为类自动添加形如:类名() 的构造函数。(5) 注意对象在栈内存分配空间时,局部变量当在调用方法执行完之后,内存会释放局部变量的空间。9.方法的重载:(1) 方法的重载(overload)是指一个类中可以定义有相同的名字,但参数不同的多个方法。调用时,会根据不同的参数表选择对应的方法。(2) 方法重载的方法名称一样,但是参数不一样 (参数的类型,参数的个数其中之一不同都可以构成方法的重载) 。(3) 与普通方法一样,构造方法也可以重载。10.this关键字:(1) 在类的方法定义中使用的 this关键字代表使用该方法的对象的引用。(2) 当必须指出当前使用方法的对象是谁时要使用 this。(3) 有时是有 this可以处理方法中成员变量和参数重名的情况。(4) This可以看作是一个变量,它的值是当前对象的引用。11.关键字 static 静态方法应该注意的地方:在静态方法里只能直接调用同类中其他的静态成员,而不能直接访问同类中的非静态成员。用static声明的方法为静态方法,在调用该方法时,不会将对象的引用传递给它,所以在 static方法中不可访问非 static的成员,静态方法不再是针对于某个对象调用,所以不能访问非静态成员。静态方法不能以任何方式引用 this和 super关键字。也可以通过引用或类名(不需要实例化)访问静态成员。 在类中,用 static声明的成员变量为静态成员变量,它为该类的公用的变量,在第一次使用时必须被初始化。它可以通过对象引用或类名来访问静态成员。12.注意区别方法重写(OverWrite)和方法重载(Override);方法的重写注意的知识点:最好使用复制。(1) 在子类中可以根据需要对从父类中继承来的方法进行重写;(2) 重写方法必须和被重新发放具有相同方法名称,参数列表和返回类型;(3) 重写方法不能使用比被重写方法更严格的访问权限。13.super关键字:在 this关键字中表示引用对象自身的成分引用;在 Java类中使用 super 类引用父类的成分;14.package和 import语句:(1) package语句作为 Java源文件的第一条语句,指明该文件中定义的类所在的包, (若缺省该语句,则指定为无名包) 。(2) Java编译器把包对应于文件系统的目录管理,package 语句中,用“.”来指明包 (目录)的层次,例如使用语句:package com .sxt,则该文件中所有的类位于.comsxt。(3) 如果要将一个类放进包里,首先要写package 后跟包名,(4) 必须保证该类的 class文件位于正确的文件目录下(和包的层次要完全一致) 。该类的源代码可能会产生影响(解决方法是删除或转移到另外的目录)(5) 另外的类想访问的话:写全名引入(有两种方式:* 或者是具体类名)访问位于同一个包中的类不需要引入(6) 必须 class文件的最上层包的父目录位于classpath下.(7) 如果在一个类中要用另外一个包中的类,必须把名字写全了,要不然它不知道用的是哪个类。(8) 如果将一个类打包,则使用该类时,必须使用该类的全名(例如:com.gjj.jm) ,Java编辑器才会找到该类。(9) 也可以使用 import在文件的开头引入要使 用到的类;例如:import com.gjj.jm;import java.util.*;/引入java.util包中所有的类。(10) 可以不需要用 import语句直接使用java.lang 包中的类。15.类的继承(1)访问权限控制:Default可以访问类内部和同一个包;Protected可以访问类内部和同一个包和子类; (2)object 类是所有 Java的根基类;(3)toString 方法: Object类中定义有 public String to String( )方法,其返回值是 String类型,描述当前对象的有关信息。在进行 String 与其他类型数据的链接操作时(如:System .out .println(“info”+person)) ,将自动调用该对象类的toString( )方法。可以根据需要在用户自定义类型中重写toString()方法;(4) equals方法: 在 Object类中有定义有: public Boolean equals(Object obj)方法,它提供定义对象是否“相等”的逻辑;Object的 equals方法定义为:x.equals(y)当 x和 y 是同一个对象的应用时返回 true,否则返回 false;J2SDK的一些类,如 String ,Date 等,重写了Object的 equals方法,调用这些类的 equals方法,x.equals(y),当 x和 y所有的对象是同一类对象且属性内容相等时(并不一定是相同对象) ,返回 true否则返回false;可以根据需要在用户自定义类型中重写 equals方法。16.方法的重写:(注意要使用复制)(1)在子类中可以根据需要从父类中继承来的方法进行重写。(2)重写方法必须和被重写方法具有相同方法名称,参数列表和返回类型。(3)重写方法不能使用比被重写方法更严格的访问权限;16.继承中的构造方法:(1)子类的构造过程中必须调用其父类的构造方法(2)子类可以在自己的构造方法中使用 super(参 数列表)父类的构造方法。使用 this(参数列表)调用本类的另外的构造方法。如果调用 super,必须写在子类构造方法的第一行。(3)如果子类的构造方法中没有显示地调用父类构造方法,则系统默认调用父类无参数的构造方法。(4)如果子类构造方法中既没有显示调用父类构造方法,而副列中有没有无参的构造方法,则编译出错。11.对象转型:(1)一个父类的引用类型变量可以“指向”其子类的对象。(2)一个父类的引用不可以访问其子类对象新增加的成员变量和方法。(3)可以使用引用变量 instanceof类名来判断该引用变量所“指向”的对象是否属于该类或该类的子类。(4)子类的对象可以当作父类的对象来使用称作“向上转型” ,反之称为向下转型。12.多态:(1)动态绑定:是指在“执行期间”判断所引用对象的实际类型,根据其实际的类型调用其相应的方法。 13.抽象类:(1)用 abstract关键字类修饰一个类时,这个类叫做抽象类;用 abstract来修饰一个方法时,该方法叫做抽象方法;(2)含有抽象方法的类必须被声明为抽象类,抽象方法必须被继承,抽象方法必须被重写;(3)抽象类不能被实例化。(4)抽象方法只需声明,而不需实现。14.final关键字:(1)final 的类不能够被继承;(2)final 的方法不能够内重写;(3)final 的变量值不能够被改变;(成员变量和局部变量(形参) ) ;15.接口:(1)多个无关的类可以实现同一个接口;(2)一个类可以实现多个无关的接口;(3)与继承关系类似,接口与实现类之间存在多态性;(4)接口(interface)是抽象方法和常量值的定义的集合;(5)从本质上讲,接口是一种特殊的抽象类,这种抽象类中只包含常量和方法的定义,而没有变量和方法的实 现。(6)接口可以多重实现;(7)接口中声明的属性默认为 public static final的;也只能是 public static final的;(8)接口中只能定义抽象方法,而且这些方法默认为public的,也只能是 public的;(9)接口可以继承 其他的接口,并添加新的属性和抽象方法。
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号