Java 继承
继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。
Java 子类强转父类
父类引用指向子类对象:
java中子类强转父类,实际上依然是子类;
该引用只能调用父类中定义的方法和变量;
如果子类中重写了父类中的一个方法,那么在调用这个方法的时候,将会调用子类中的这个方法;
Java 父类强转子类
只有父类对象本身就是用子类new出来的时候, 才可以在将来被强制转换为子类对象.
在DTO层与entity层分开时,DTO层继承entity,再给DTO层赋值时不能直接将entity转为dto,因为子类有些属性,父类没有,所以强转会出现错误。
但是又需要这样强转,怎么办呢,如果手动的取出父类的属性依次填入,这样很耗时。
【java 子类强转父类 父类强转子类】解决方案是先把父类转jsonstring再把jsonstring转子类。剩余的子类值可以设定进去。这样两个类的重复值就不用重新设置值了。
import com.alibaba.fastjson.JSONObject;
public class test {public static void main(String[] args) {
B b = new B();
b.setB("1");
String ob = JSONObject.toJSONString(b);
A a = (A)JSONObject.parseObject(ob, A.class);
a.setA("2");
System.out.println(a.getA());
}
}class A extends B {
private String a;
public String getA() {
return a;
}public void setA(String a) {
this.a = a;
}
}class B {
private String b;
public String getB() {
return b;
}public void setB(String b) {
this.b = b;
}
}
推荐阅读
- Java|Java基础——数组
- 人工智能|干货!人体姿态估计与运动预测
- java简介|Java是什么(Java能用来干什么?)
- Java|规范的打印日志
- Linux|109 个实用 shell 脚本
- 程序员|【高级Java架构师系统学习】毕业一年萌新的Java大厂面经,最新整理
- Spring注解驱动第十讲--@Autowired使用
- SqlServer|sql server的UPDLOCK、HOLDLOCK试验
- jvm|【JVM】JVM08(java内存模型解析[JMM])
- 技术|为参加2021年蓝桥杯Java软件开发大学B组细心整理常见基础知识、搜索和常用算法解析例题(持续更新...)