OOP(面向对象编程)

来源:互联网 发布:第一批网络主播黑名单 编辑:程序博客网 时间:2024/05/18 14:23

类和对象 
类:类别,是对以一类事物的抽象描述。 
如果不给类定义构造器,那么程序会为我们生成一个无参构造器,如果给类定义构造器 
那么程序将不会为我们生成一个无参构造器。 
如果不给属性赋初值,那么属性会有默认值。如:int double 默认值为0,其他为null. 
public和private修饰属性的区别、 
public:在其他类中,可以直接通过对象来访问。 
private:在其他类中,不可以通过对象访问,要通过get,set方法。

对象:就是一个实体,是一个真实存在的实体,是内存的一块区域。 类名 对象名=new 类名(); 
示例:Student stu= newStudent ();

继承,重写,多态。 
类的继承: 
使用extends关键字,单继承,继承者为子类,被继承者为父类。 
重载: 
重载的时候,方法名要一样,但是参数类型和个数不一样,返回值类型可以相同也可以不相同。无法以返回型别作为重载函数的区分标准。 
示例: 
public class Student { 

void work()//work()方法是重载方法 


void work(String n,double l){}//注意:重载的方法的返回值都是一样的, 


void work(int a,String n){}//不能以返回值区分重载方法,而只能以“参数类型”和“类名”来区分 

重写:若子类中的方法与父类中的某一方法具有相同的方法名、返回类型和参数表,则新方法将覆盖原有的方法。如需父类中原有的方法,可使用super关键字,该关键字引用了当前类的父类。示例:public class Father{

public void speak(){

   System.out.println(Father);}

}

public class Son extends Father{

public void speak(){    System.out.println("son");

}

}

this关键字:当前类的对象,谁来调用当前构造器或方法,那么this就表示当前调用者。

多态:指允许不同类的对象对同一消息做出响应。即同一消息可以根据发送对象的不同而采用多种不同的行为方式。(父类引用指向子类)。 
封装: 
封装是把过程和数据包围起来,对数据的访问只能通过已定义的接口。在java中通过关键字private,protected和public实现封装。封装把对象的所有组成部分组合在一起,封装定义程序如何引用对象的数据,封装实际上使用方法将类的数据隐藏起来,控制用户对类的修改和访问数据的程度。 适当的封装可以让程式码更容易理解和维护,也加强了程式码的安全性。

单例模式(类只能创建一个对象)  包括饿汉式和懒汉式

饿汉式

public class DanLi {
private static DanLi s=new DanLi();
private DanLi(){
}
public static DanLi getDanLi(){
return s;
}
}

懒汉式

public class DanLi2 {
private static DanLi2 s;
private DanLi2(){};
public static DanLi2 getDanLi2(){
if(s==null){
s=new DanLi2();
}
return s;
}
}

原创粉丝点击