java三大特性(封装,继承,多态)final

1.封装:

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

2.实现流程:

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

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

2.继承(extends):

1.多个类有相同的部分,将同样的部分放到父类,子类都包含自己独有的方法,然后继承父类的相同的方法,实现代码通用编程。子类需要重写父类的方法@override注释然后super.show()调用。

重写原则:1.方法名一样,参数列表及返回值相同2.访问权限不能变小可同级或变大3.子类重写方法不可抛出更大异常


继承注意:

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

访问控制符:

public:可在任意处使用,无论自己包或别的包

protected:只可以在本类中使用,其他的包不可以

默认: 只在本类的内部和本包中的类
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();
}
main。。。。{
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
修饰成员方法:不可被重写
修饰成员变量:必须赋初值变常量
开发很少用staticfinal单用
一般public static final double=3.11

 上一篇
抽象与接口 抽象与接口
抽象(abstract): 不能具体实现的类,无方法体,用abstract修饰; 抽象类在于继承,类继承了抽象类后需重写它的抽象方法,因为抽象类不能创建对象,所以我们测试它就可以直接调用继承它的类中重写的方法 1.接口(interface
2019-10-16
下一篇 
SSH与SSM的区别 SSH与SSM的区别
SSH : Struts2+Spring+HibernateSSM: Spring+SpringMVC+mybatisspring 底层的类库是一样的(组件)Struts2和 Spring MVC的相同点:spring用来初涉依赖注入(通过
2019-10-15
  目录