抽象方法和普通方法的区别????
1.抽象方法必须要通过继承才能被实现,然后才能被对象调用;普通方法在定义的同时就已经实现了。
2.抽象方法只需声明,而不需实现某些功能
3.抽象方法必须要被重写
2016/10/11
设计模式:对问题行之有效的解决方法,是一种思想(问题不是运行问题编译问题或者逻辑问题,而是对代码进行优化,使代码运行效率更高
节约内存,提高扩展性)
单例模式:单例模式:解决的是保证一个类在内存中的对象的唯一性 比如:多个程序使用同一个配置信息的对象,这个时候需要保证该对象的唯一性
作用:保证一个类在内存中的对象的唯一性
分类:懒汉模式、饿汉模式
如何保证对象的唯一性:
// 1.不允许其他程序通过new的方式创建对象(私有构造函数)
// 2.在本类中创建本类的对象(实例)(通过new的方式 提供一个本类的实例)
// 3.对外提供一个方法让其他程序可以获取该对象 (定义一个公开的方法,返回值类型是本类)
抽象类:抽象方法的由来:多个对象中都具备相同的功能,但是具体的功能实现不同,那么在抽取过程中,只抽取功能的定义,没有抽取功能的主体(只定义了方法头,没有声明方法体)
那么该方法称为抽象方法,被abstract修饰,含有抽象方法的类叫做抽象类。
抽象类的使用:抽象类一定要被继承使用,被继承后,子类必须重写父类中抽象的方法,如果不能重写全部的抽象方法,
// 那么子类变成抽象类,被abstract修饰,需要被继续继承,直到有一个类重写了全部的抽象方法.
// 抽象类不能创建对象使用,重写了抽象类所有的抽象方法的类可以创建对象使用.
抽象类中的一些注意点:
1.抽象类中有没有构造方法
有,用于给子类对象进行初始化
2.抽象关键字不可以和哪些关键字一起使用
static:因为被static修饰的方法只能被继承,不能重写
final:因为被final修饰的类不能被继承,故也不能被重写
private :因为private修饰的方法不能被继承(子类只能继承父类非私有的属性和行为)
3.抽象类可以没有抽象方法