抽象 多态 继承 封装 接口 单例
来源:互联网 发布:nginx 静态服务器配置 编辑:程序博客网 时间:2024/06/02 16:47
*:面向对象的特征有哪些方面 (抽象 继承 封装 多态)
一. 接口
1.类只能继承一个类,但可以实现多个接口
2.接口可以继承多个接口3.接口可以放常量,不能放变量
二.多态
a.多态性是指允许不同类的对象对同一消息作出响应。
1.重写 2.覆盖
1.1、完全改写(原有的逻辑要不得)
1.2、后面增加(创建型)
1.3、前面增加(销毁型)
三:抽象 继承 封装
1.抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。
2.继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。
3.封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。
四:转型
1.向上转型(自动)
(主要用于共性特征,便于集中管理,常用于框架设计,用上层(类,抽象,接口),造下层对象)
2.向下转型(要强转,最好先判断 instanceof)
(主要用于个性化特征)
五.单例模式 三个条件:私有静态变量,私有构造方法,公共静态工厂方法
1、构造方法要私有
2、提供静态的工厂方法
3.1、工厂方法先判断对象是否存在
3.2、不存在将对象造出来,并存起来
3.3、存在就返回存起来的对象
意图:保证一个类仅有一个实例,并提供一个访问它的全局访问点。
单例模式 设计思想 (工厂方法)
public static void main(String[] args) {
// UserService service = new UserService();
// 设计思想:工厂方法
UserService service = UserService.getInstance();
UserService service1 = UserService.getInstance();
// UserService service1 = new UserService();
System.out.println(service == service1 ? "是单例" : "不是单例");
String pass = null;
String name = "tom";
boolean result = service.login(name, pass);
if (result) {
System.out.println("可以登录了");
} else {
System.out.println("错误 不可以登录");
}
}
}
/**
* 单例模式
*
*/
class UserService {
// 1.私有静态变量
private static UserService service;// 懒汉式
// private static UserService service = new UserService();//饿汉式
// 2.私有构造方法
private UserService() {
}
// 3.公共静态工厂方法:工厂方法模式
public static UserService getInstance() {
if (service == null) {
service = new UserService();
}
return service;
}
public boolean login(String name, String pass) {
// return pass.equals("123");
return "123".equals(pass);
}
- 抽象 多态 继承 封装 接口 单例
- 封装、多态、抽象、继承、接口
- 继承、多态、封装、抽象类与接口
- 封装 ,继承, 多态,抽象类 ,接口
- 黑马程序员——Java基础---面向对象(封装、继承、单例、抽象类、接口、内部类)
- 抽象、封装、继承、多态
- 封装 继承 多态 抽象
- 继承,封装,多态,抽象
- 面向对象的继承、封装、多态、抽象、接口相关
- 封装,继承,多态,抽象类,接口,Static,super, final
- java面向对象综合性总结----抽象+封装+继承+多态+接口
- Java学习笔记(一)----封装 继承 多态 抽象 接口
- 抽象类 接口区别 多态性 继承 封装
- 继承、多态、抽象、接口
- (笔记六)文档注视、单例模式、继承、抽象类、接口、多态
- java中单继承、接口、抽象类
- 封装,继承,多态,接口
- 封装,继承,多态,接口
- Redis微博推的实现
- 高德地图坐标转换接口
- 防止用户在页面上填写恶意代码webConfig中所做操作
- 机器学习中的相似性度量
- JS.jQuery获取浏览器参数
- 抽象 多态 继承 封装 接口 单例
- linux平台上image文件挂载的方法
- windows下tomcat和nginx负载均衡的简单配置!
- 关于listview加载图片时oom的解决方案
- 资金管理系统中的基础财务记账规则
- jstl的学习
- ps 滤镜特效
- Linux/CentOS 升级C基本运行库CLIBC的注意事项(当想解决GLIBC_2.x找不到的编译问题)
- quartz触发器失败策略