黑马程序员----JAVA----面向对象小结(2)----
2013-01-21 23:16
246 查看
----------------------------------android培训、java培训、期待与您交流!------------------------------
什么是单例设计模式:
为了避免其他程序创建对象 (将构造函数私有化)
为了让别的程序访问到本类的对象 (在类中创建本类的对象)
为了方便其他程序对自定义程序进行访问,可以对外提供一个方法( 提供一个方法获取该对象);
饿汉式:类一加载进内存,就已经创建好了对象
class Single{
private Single(){}
private static Single s=new Single();
public static Single getInstance(){
return s;
}
}
懒汉式:对象的方法被调用时,才初始化,所以交叫延迟加载
class Single{
private Single(){}
private static Single s=null
public static Single getInstance(){
if(s==null){
s=new Single();
}
return s;
}
}
继承的由来:
如果多个类中存在着相同的属性和方法,那么可以将其相同的部分提取出来,放到一个单独的类中,然后让原先的类去继承这个单独的类,这样原先的类就没有必要去定义那么多相同的属性和方法了。
继承的关键字:extends
子类可以添加自己的功能。父类中的属性和方法也都继承下来了。
继承的好处:
提高了代码的重用性
为多态提供了先觉条件
java中只支持单继承:
也就是说,一个爸爸可以有多个儿子,但一个儿子只能有一个爸爸;
当你调用一个对象的方法时,子类没有就去父类中找;
构造器不能继承,private的属性和方法也是无法继承的;
super :
在一个类的内部,可以通过super去访问父类自对象;
可以调用父类的属性,方法(但是不能是private)
可以调用父类的构造函数
当一个类中只有一个private的构造函数时,那么这个类将不能被继承;
什么时候使用super:
在子类构造器,显示调用父类的构造器;
在子类中访问父类的属性或者方法
当子类和父类有相同的属性时,想要使用父类的属性必须使用super;
重写(覆盖):
在子类中写一个方法和父类中的方法一模一样,就是重写;
private不能重写
方法名和参数列表必须相同;
返回值必须是父类的返回值,或者是其子类的返回值
多态:
就是父类的引用指向子类的对象实体;
只有向上转型才会有多态,所以经常说的向上转型就是多态;
调用方法是由实体来决定的,而不是引用, 例如: Person p=new Student();这个就是个多态,父类引用指向 [b]子类对象实体;[/b]
构造器(构造函数):
当子类继承了父类,父类又写了有参的构造函数,和无参的构造函数,当子类调用父类 构造器时,可以显示调用构造器(super()),也可以不写(super());因为不写,子 类会隐式调用父类的无参构造器。
当父类只有一个有参的构造函数,子类在调用父类的构造器时,必须显示调用父类的构 造器,如果不显示调用,会报错,因为父类没有无参的构造器
----------------------------------android培训、java培训、期待与您交流!------------------------------
什么是单例设计模式:
为了避免其他程序创建对象 (将构造函数私有化)
为了让别的程序访问到本类的对象 (在类中创建本类的对象)
为了方便其他程序对自定义程序进行访问,可以对外提供一个方法( 提供一个方法获取该对象);
饿汉式:类一加载进内存,就已经创建好了对象
class Single{
private Single(){}
private static Single s=new Single();
public static Single getInstance(){
return s;
}
}
懒汉式:对象的方法被调用时,才初始化,所以交叫延迟加载
class Single{
private Single(){}
private static Single s=null
public static Single getInstance(){
if(s==null){
s=new Single();
}
return s;
}
}
继承的由来:
如果多个类中存在着相同的属性和方法,那么可以将其相同的部分提取出来,放到一个单独的类中,然后让原先的类去继承这个单独的类,这样原先的类就没有必要去定义那么多相同的属性和方法了。
继承的关键字:extends
子类可以添加自己的功能。父类中的属性和方法也都继承下来了。
继承的好处:
提高了代码的重用性
为多态提供了先觉条件
java中只支持单继承:
也就是说,一个爸爸可以有多个儿子,但一个儿子只能有一个爸爸;
当你调用一个对象的方法时,子类没有就去父类中找;
构造器不能继承,private的属性和方法也是无法继承的;
super :
在一个类的内部,可以通过super去访问父类自对象;
可以调用父类的属性,方法(但是不能是private)
可以调用父类的构造函数
当一个类中只有一个private的构造函数时,那么这个类将不能被继承;
什么时候使用super:
在子类构造器,显示调用父类的构造器;
在子类中访问父类的属性或者方法
当子类和父类有相同的属性时,想要使用父类的属性必须使用super;
重写(覆盖):
在子类中写一个方法和父类中的方法一模一样,就是重写;
private不能重写
方法名和参数列表必须相同;
返回值必须是父类的返回值,或者是其子类的返回值
多态:
就是父类的引用指向子类的对象实体;
只有向上转型才会有多态,所以经常说的向上转型就是多态;
调用方法是由实体来决定的,而不是引用, 例如: Person p=new Student();这个就是个多态,父类引用指向 [b]子类对象实体;[/b]
构造器(构造函数):
当子类继承了父类,父类又写了有参的构造函数,和无参的构造函数,当子类调用父类 构造器时,可以显示调用构造器(super()),也可以不写(super());因为不写,子 类会隐式调用父类的无参构造器。
当父类只有一个有参的构造函数,子类在调用父类的构造器时,必须显示调用父类的构 造器,如果不显示调用,会报错,因为父类没有无参的构造器
----------------------------------android培训、java培训、期待与您交流!------------------------------
相关文章推荐
- 黑马程序员---Java基础--06天(面向对象之二)
- 黑马程序员_Java面向对象简述
- 黑马程序员_java面向对象总结
- 黑马程序员Java培训、Android培训-Java 学习过程记录_面向对象上
- 黑马程序员---java学习笔记之面向对象知识点
- 黑马程序员_java面向对象基础学习笔记
- 黑马程序员——Java基础---面向对象2
- 黑马程序员——Java面向对象(二)
- 【黑马程序员】 学习笔记 - Java面向对象
- 黑马程序员_Java面向对象下
- 黑马程序员----java面向对象04(异常、包)
- 黑马程序员——Java面向对象之继承与多态笔记
- 黑马程序员@java面向对象之继承
- 黑马程序员——java面向对象之_类Class
- Java基础---面向对象 (黑马程序员)
- 黑马程序员————Java面向对象
- 黑马程序员——Java基础---面向对象
- 黑马程序员_Java面向对象_包
- 黑马程序员—java面向对象总结(4)—内部类、异常
- 黑马程序员_java基础学习笔记04_面向对象