Java基础复习(二)
来源:互联网 发布:淘宝靠谱的数码店 编辑:程序博客网 时间:2024/06/04 19:45
Java 复习
标签:java基础
单列设计模式
- 单列设计模式的问题:
保证一个类在内存当中的唯一性
1.不允许其他类创建本类。(私有构造函数)
2.在该类创建一个本地实列 (静态创建一个对象)
3.对外提供一个方法,让其他程序可以获取该对象 (类方法。可以获取该静态对象)
class Single{ /* * 单列设计模式 -- 饿汉式 */ //创建一个静态的对象,让类加载的时候就可以拥有 private static Single single = new Single(); //私有化构造函数 private Single() {} //给一个可以获取该对象的内部方法 public static Single newInstance() { return single; }}class Single{ /* * 单列设计模式 -- 懒汉式 */ //创建一个静态的对象,让类加载的时候就可以拥有 //用到了延时加载的问题 private static Single single = null; //私有化构造函数 private Single() {} //给一个可以获取该对象的内部方法 public static Single newInstance() { if (single == null) { single = new Single(); } return single; }}
继承的特点笔记
Java是但单继承的方式
就是一个类只能继承一个父类,不能拥有多个父类
原因:因为两个父类可能同时出现同一个方法,子类到底调用的是哪一个类,会造成混乱;
- this额super的区别
this代表本类对象的引用
super代表父类内存空间的标识(就是内存地址)
当本类成员和局部变量同名时用this来区分
当子父类成员同名父类用super来区分
重载函数的两个特性
1.重载在一个类中
2.覆盖,子类当中覆盖也称为重写,就是覆写。override
那么我们什么时候需要覆盖操作
当子类需要实现父类功能。但是功能的主体子类当中有特定的内容时。可以复写父类的方法。
构造函数
字符类构造函数的特点:
子类构造函数执行是,发现父类构造函数也运行了。
原因:在子类的构造函数当中,第一行有一个默认的隐式语句:super()
;
注意: 如果使用super(4)
,语句调用的是父类的其他构造函数,那么默认的父类构造函数将不会被调用,反而去调用父类指定参数的构造函数
P.S.
1、当父类中没有空参数的构造函数时,子类的构造函数必须通过this或者super语句指定要访问的构造函数。
2、子类构造函数中如果使用this调用了本类构造函数,那么默认的super();就没有了,因为super和this都只能定义在第一行,所以只能有一个。但是可以保证的是,子类中肯定会有其他的构造函数访问父类的构造函数。
3、super语句必须要定义在子类构造函数的第一行!因为父类的初始化动作要先完成。构造代码块
作用:给对象进初始化的,
对象一旦建立,而且优先于构造函数执行。
和构造函数的区别:
够着代码块给所有对象进行统一初始化,而构造函数给对应对象进行初始化继承当中内存加载原理
final关键字
final可以修饰类,方法和变量
final 修饰的类不可以被继承。
final 修饰的方法不可以被覆盖(系统的有些方法是不可以被覆盖的的)抽象类
抽象的定义
抽象就是重多个事物中讲共性的,本质的内容抽取出来。
比如:猫和老虎豹子都属于猫科,猫科就是抽象出来的概念。
抽象类(absstract):
java 可以定义一些没有方法的体的方法,改方法的具体实现由子类去重写,这个方法叫做抽象方法,而拥有抽象方法的类就是抽象类
抽象类为什么不可以被实例化?
1.抽象类是具体事物抽取出来的,本身没有意义,也就是没有具体的事例。
2.因为里面的方法都没有具体的能够,调用了抽象方法也没有意思
3.抽象类通过子类实列化, 如果子类不实现抽象类的所有方法,那么子类里面也继承了父类的方法,那么子类也会变成了抽象类。所以子类在继承抽象类的时候必须实现父类的所有抽象方法。 子类实现了父类的抽象方法,相当于覆盖的了父类的方法。
4.抽象类是有构造函数的,(用于给子类进行给抽象类的字段初始化);
5.abstract不能和private,static, final关键字共存。
6.抽象类当中可以有非抽象方法,但是很少用,一般都没有方法体。
记住:抽象类也是一个类。所以他会拥有类的许多特征;
抽象类和一般类区别:
抽象类和一般类都是用来描述事物,都每部定义了成员
不同点:
1.一般类可以充分的描述事物,而抽象类不能
2.一般类里面不可以用抽象方法,只可以拥有非抽象方法。抽象类里面可以两者都拥有。
4.一般类可以被实例化,而抽象类却不可以。
- 接口
当一个抽象类中的方法都是抽象方法都是抽象方法时
接口里面的成员都是固定的:
成员常量:public static fial
成员函数:public abstract
所以接口里面的成都是公共的权限。
总结:接口可以多继承。增加了程序的扩展性,接口是抽象类,接口是实现,抽象类是继承。一个is a .
接口的是想 link a ;
不管怎么实现我们都要重写父类的方法。编译才不会报错。
- Java基础复习(二)
- 二、JAVA 基础复习
- Java基础复习(二)
- Java基础复习二
- Java基础复习系列二
- Java基础面试复习二
- 复习二:java基础知识点
- JAVA学习笔记(复习)-----3、 JAVA基础(二)
- JAVA复习(二)
- java 复习(二)
- java复习(二)
- java复习(二)
- java基础(复习)
- JAVA基础复习(二)继承的一点细节:upcasting
- Java基础复习---异常练习(二):实现图形面积
- Java基础复习(二)-----final和static关键字
- Javascript基础复习(二)
- Android基础复习(二)
- jquery分离方法split()
- Leetcode 116 Populating Next Right Pointers in Each Node 二叉树填充next指针指向右侧结点
- TimesTen学习资料大汇总
- VMware下扩展Ubuntu根文件大小的方法
- 孤儿进程与僵尸进程[总结]
- Java基础复习(二)
- 写六月的总结
- Scala学习笔记一
- YII2 服务器验证码不显示
- [ERP]LRP与MRP的最大差异
- Java数据结构(二):线性表之顺序表
- GRE逻辑阅读——定语从句结构
- base64转码
- android 查看android.keystore信息