面向对象三大特性

封装:

就是将一些逻辑代码和实现的细节封到一个类里,隐藏细节,外部不能随便修改或调用,需要声明对象的引用来调用,可以提高代码的复用性.比如在测试类里

实现流程

1. 私有化成员变量用private修饰
2. 公有set与get方法,在set里进行合理值判断
3. 创建无参和有参构造,在有参里进行set的判断

static修饰时变成类层级,用类名.调用

继承 (extends):

多个类有相同的部分,将同样的部分放到父类,子类都包含自己独有的方法,然后继承父类的相同的方法,实现代码通用编程。子类需要重写父类的方法@override注释然后super.show()调用。重写原则:1.方法名一样,参数列表及返回值相同2.访问权限不能变小可同级或变大3.子类重写方法不可抛出更大异常

  1. 子类可以继承私有成员变量,不可继承父类构造方法与私有成员方法
  2. 支持单继承
  3. 继承满足:子类is a父类
  4. 构造子类对象都会调用父类构造来将方法初始化

访问控制符 :

public:可在任意处使用,无论自己包或别的包
protected:只可以在本类中使用,其他的包不可以
deafalt: 只在本类的内部和本包中的类
private:仅在本类的内部使用 

多态 :

有继承,重写,父类引用指向子类对象,意义:屏蔽不同子类的差异实现通用的编程
当父类的引用指向子类的对象时,可直接调用父类方法,若想调用子类对象需强转。例:

Person p = new Worker();
//调worker内的独有方法salary,强转。
((worker)p).salary(); 

强转判断:

//此处person不转,worker需强转;
if(p instanceof person){
  syso..("不用转")
}syso..("需要强转") 

多态的三种实现

//父类指向子类
1.Person p = new Worker();
2.//写个静态方法将父类当形参放入,用类名.此静态方法名(new 子类对象来调用) 

public class R{
    public static void father(Person p){
      //调用子类的show方法
       p.show();
    }
  public static void main(String[] args){
      R.father(new Worker(20,"kk",1234));
  }
}

3.接口的实现方法:因为接口比抽象类更抽象,不能new对象,因此不能用2方法中那样的形式new个对象,那么我们就需要定义一个类来实现这个接口,用类名.调用的时候TestA.test(new shixianA());比如两个接口类叫metal和gold,然后写monet类实现它两个,会重写他两,之后在测试类里,

//有点像定义一个父类实现多个子类的形式;
Money  m = new Metal();
Money  m = new Gold()  

final :

修饰类:不能被继承,防止滥用string,stystem
修饰成员方法:不可被重写
修饰成员变量:必须赋初值变常量
开发很少用static或final单用
一般public static final double=3.11;

 上一篇
Java设计模式之单例设计模式 Java设计模式之单例设计模式
Java设计模式之单例模式 起步java中单例模式是一种常见的设计模式,单例模式的写法有好几种,这里主要介绍两种:懒汉式单例、饿汉式单例。 特点 1、单例类只能有一个实例。 2、单例类必须自己创建自己的唯一实例。 3、单例类必须给所有其
2019-10-16
下一篇 
四大数据库特性 四大数据库特性
关系型数据库oracle–mysql一、mysql与Oracle的相同点:1、都是关系型数据库管理系统(MySQL开放源码) 2、都是目前很流行的数据库(Oracle以分布式为核心); 二、MySQL、Oracle各自特点:1、Oracle
2019-10-15
  目录