黑马程序员--单例设计模式、抽象、继承

来源:互联网 发布:足球首发阵容软件 编辑:程序博客网 时间:2024/06/08 16:10

------<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保留这种机制,并用


了另一种方式来体现:就是多实现。




























0 0