java学习笔记,都是重点,我的体会.docx
《java学习笔记,都是重点,我的体会.docx》由会员分享,可在线阅读,更多相关《java学习笔记,都是重点,我的体会.docx(7页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、/-this- -1.this指向当前对象或 类。2.this()表示调用当前类的无参构造方法新类的定义中,可以自定义新的属性和方法/-重写、覆盖-特点:1.方法的名、参数列表、返回值全部一样2.子类的访问修饰符的访问范围要大于原父类的3.子类的返回值类型可以是父类返回值的子类型(jdk5.0及以上)*1.基本数据能转换成引用数据类型*/多态-1.构造方法是不能被继承的2.父类类型的变量去引用子类类型的对象,发生多态时,编译期调用的是父类的方法,运行中调用的是子类的方法;3.多态时,先寻找原变量类型中定义的方法,有责,去找寻子类中是否进行了重写,若有,则调用重写/抽象类-在Java中所谓的抽象
2、类,即是在类说明中用关键字abstract修饰的类。一般情况下,抽象类中可以包含一个或多个只有方法声明而没有定义方法体的方法。当遇到这样一些类,类中的某个或某些方法不能提供具体的实现代码时,可将它们定义成抽象类。定义抽象类的一般格式如下:访问限定符 abstract class 类名其中,声明抽象方法的一般格式如下:访问限定符 abstract 数据类型 方法名(参数表);注意:抽象方法只有声明,没有方法体,所以必须以“;”号结尾。有关抽象方法和抽象类说明如下:1 所谓抽象方法,是指在类中仅仅声明了类的行为,并没有真正实现行为的代码。也就是说抽象方法仅仅是为所有的派生子类定义一个统一的接口,方
3、法具体实现的程序代码交给了各个派生子类来完成,不同的子类可以根据自身的情况以不同的程序代码实现。2 抽象方法只能存在于抽象类中,正像刚才所言,一个类中只要有一个方法是抽象的,则这个类就是抽象的。3 构造方法、静态(static)方法、最终(final)方法和私有(private)方法不能被声明为抽象的方法。4 一个抽象类中可以有一个或多个抽象方法,也可以没有抽象方法。如果没有任何抽象方法,这就意味着要避免由这个类直接创建对象。5 抽象类只能被继承(派生子类)而不能创建具体对象即不能被实例化。抽象类不能直接实例化,也就是不能用new运算符去创建对象。抽象类只能做为父类使用,而由它派生的子类必须实
4、现其所有的抽象方法,才能创建对象。/静态 static-1.可以在没有任何实例时调用,即直接由类名调用!(当然亦可实例化后,由对象去调用)2.不能在static方法内部访问非static成员3.不能被非static方法覆盖(静态方法不能被覆盖)4.静态代码块 优先于 实例代码块,先于构造方法运行。A静态 static B静态 A实例 A构造 A() B实例 B构造/设计模式之 :单例模式-class Singleton2() /饿汉式private static Singleton singleton= new Singleton2(); /或者 private static final Si
5、ngleton singleton= new Singleton2();private Singleton2()public static Singleton2 getInstance()return singleton;public class Singleton()/懒汉式(延迟加载)private static Singleton singleton;private Singleton()public static Singleton getInstance()if(singleton = null) /次处可能出现多线程的singleton =new Singleton(); /不同步
6、现象,应加synchronized进行同步处理return singleton;public class Singleton()/懒汉式(延迟加载)-改进后private static Singleton s;private Singleton()public static Singleton getInstance() /进行双重判断,减少了同步次数,提高了程序运行效率if(s=null)synchronized (s.class)if(s = null) s =new Singleton(); return s;/final 关键字-final 用来修饰一个类,方法,属性或局部变量fina
7、l 类不能被继承 final 方法不能被覆盖final 变量的值不能被改变/abstract类和abstract方法-1.如果一个方法没有实现的代码,那么它必须被声明为抽象的方法。2.如果一个类包含有抽象方法,那么它必须被声明为抽象类。3.抽象类不能实例化-不能生成对象。4.可以定义一个抽象类的引用, 即创建一个该类的变量去引用其具体子类的一个对象(实例) /接口-1.接口是一种特殊的抽象类2.接口中所有的方法都是抽象方法3.一个类可以实现多个接口4.接口中的所有属性都会自动声明为final static5.接口与接口之间可以多重继承(可以提高代码的重用性)6.当一个类去实现一个接口时,必须实
8、现该接口中所有的方法【显然,这些方法都是抽象方法】/ 接口 与 抽象类 的区别-1. 声明方法的存在而不去实现它的类被叫做抽像类( abstract class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建abstract 类的实例。然而可以创建一个变量,其类型是一个抽像类,并让它指向具体子类的一个实例。不能有抽像构造函数或抽像静态方法。Abstract 类的子类为它们父类中的所有抽像方法提供实现,否则它们也是抽像类为。取而代之,在子类中实现该方法。知道其行为的其它类可以在类中实现这些方法接口( interface )是抽像类的变体。在接口中
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 学习 笔记 都是 重点 体会
限制150内