黑马程序员--单例设计模式、抽象、继承
2015-03-25 17:02
218 查看
------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------
设计模式
Java中有23种设计模式
单例设计模式:解决一个类只在内存中存在一个对象
如何让一个类在内存中只存在一个对象?
1.禁止其它的应用程序通过此类来创建对象。
2.既然外部不能通过此类创建对象,我们要用对象,就可以在本类里面创建本类对象。
3.为了其他应用程序能够访问到本类里面创建的对象,我们需要对外界提供一种访问方式。
用代码体现出来:
class Person{
String name;
private Person(){}
static Person p=new Person();
public static Person getInstance(){
return p;
}
}
public class test3 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Person A=Person.getInstance();
A.name="小明";
Person B=Person.getInstance();
System.out.println(B.name);
}
}
抽象:
abstract:是一个修饰符,可以修饰方法、类。
1.当我们多个类存在相同的功能时,但是功能主体不同,这时我们进行向上抽取,
只抽取功能的定义不抽取功能的主体。
抽象类的特点
1.抽象方法一定要在抽象类中
2.抽象类和抽象方法必须要被abstract关键字修饰。
3.抽象类是不能被创建对象,因为调用抽象的方法没意义。
4.抽象类中的方法要被使用,必须由子类重写抽象类中的方法,然后创建子类对象来调用。
5.抽象类中可以定义非抽象的方法,有时候我们需要此类不能被new关键字创建对象时,可以用abstract将此类变成抽象类。
6.字类如果只重写一部分的抽象方法,那么该子类还是一个抽象类,如果抽象类的方法要被使用,子类必须重写抽象类中的所有方法。
7.抽象类和普通类没有太大的不同。
抽象类无法通过new关键字创建对象。
抽象类里面可有抽象的方法。
继承的概述:
1.提高了代码的复用性,简化了代码
2.让类与类之间产生了继承关系,才有了后面的多态特性的存在。
注意:千万不要为了获取其他类的功能简化代码,而建立继承关系,必须
要类与类之间存在继承关系,继承关系is a
子类拥有父类的成员,子类不能拥有父类中被private修饰后的成员。
Java中不支持多继承,只支持单继承,因为多继承存在安全隐患。当多个父类定义
了相同的成员,子类对象不确定运行哪一个。但Java保留这种机制,并用
了另一种方式来体现:就是多实现。
设计模式
Java中有23种设计模式
单例设计模式:解决一个类只在内存中存在一个对象
如何让一个类在内存中只存在一个对象?
1.禁止其它的应用程序通过此类来创建对象。
2.既然外部不能通过此类创建对象,我们要用对象,就可以在本类里面创建本类对象。
3.为了其他应用程序能够访问到本类里面创建的对象,我们需要对外界提供一种访问方式。
用代码体现出来:
class Person{
String name;
private Person(){}
static Person p=new Person();
public static Person getInstance(){
return p;
}
}
public class test3 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Person A=Person.getInstance();
A.name="小明";
Person B=Person.getInstance();
System.out.println(B.name);
}
}
抽象:
abstract:是一个修饰符,可以修饰方法、类。
1.当我们多个类存在相同的功能时,但是功能主体不同,这时我们进行向上抽取,
只抽取功能的定义不抽取功能的主体。
抽象类的特点
1.抽象方法一定要在抽象类中
2.抽象类和抽象方法必须要被abstract关键字修饰。
3.抽象类是不能被创建对象,因为调用抽象的方法没意义。
4.抽象类中的方法要被使用,必须由子类重写抽象类中的方法,然后创建子类对象来调用。
5.抽象类中可以定义非抽象的方法,有时候我们需要此类不能被new关键字创建对象时,可以用abstract将此类变成抽象类。
6.字类如果只重写一部分的抽象方法,那么该子类还是一个抽象类,如果抽象类的方法要被使用,子类必须重写抽象类中的所有方法。
7.抽象类和普通类没有太大的不同。
抽象类无法通过new关键字创建对象。
抽象类里面可有抽象的方法。
继承的概述:
1.提高了代码的复用性,简化了代码
2.让类与类之间产生了继承关系,才有了后面的多态特性的存在。
注意:千万不要为了获取其他类的功能简化代码,而建立继承关系,必须
要类与类之间存在继承关系,继承关系is a
子类拥有父类的成员,子类不能拥有父类中被private修饰后的成员。
Java中不支持多继承,只支持单继承,因为多继承存在安全隐患。当多个父类定义
了相同的成员,子类对象不确定运行哪一个。但Java保留这种机制,并用
了另一种方式来体现:就是多实现。
相关文章推荐
- 黑马程序员——继承、单例设计模式
- 黑马程序员_JavaSE基础08 之 单例设计模式 继承 覆盖
- 黑马程序员-JAVASE入门(抽象类、继承、模板设计模式)
- 黑马程序员——Java基础——数组工具类、设计模式和继承(一)
- 黑马程序员_学习笔记:4) 面向对象2:继承、this、super、finally、Abstract、模板设计模式、接口
- 黑马程序员-设计模式,继承和抽象类
- 设计引导--一个鸭子游戏引发的设计理念(多态,继承,抽象,接口,策略者模式)
- 黑马程序员_Java基础_面向对象,封装,继承,单例设计模式,构造函数,构造代码块
- 黑马程序员:装饰设计模式介绍及装饰模式与继承关系的区别
- 黑马程序员——黑马学习日志之六 静态,单例设计模式,继承,多态
- 黑马程序员面试题面向对象一(封装,构造函数,this,static,单例设计模式,继承)
- 设计引导---一个鸭子游戏引发的设计(多态,继承,抽象,接口,策略者模式)
- 黑马程序员—Java面向对象(单例设计模式、面向对象的继承、final关键字)
- 黑马程序员——JAVA基础之抽象和接口 , 模版方法设计模式
- 0.1-设计模式怎么样解决设计问题-抽象与封装、继承、多态
- 设计模式学习(一):java 面向对象特征:抽象、封装、多态、继承
- 黑马程序员——设计模式
- C++设计模式-抽象工厂
- 黑马程序员---继承,抽象,接口
- 抽象工厂设计模式(C#)