java中父类与子类的关系以及使用

在java中规定:一个父类可以有多个子类,但是一个子类只能有一个父类。子类可以通过extends关键字来继承父类。做个比较通俗的比喻,就像一个父亲可以有多个亲孩子,但是一个孩子只能有一个亲生父亲。

1.继承以及重写:子类继承父类是对父类属性和方法的全面继承,同时子类在继承了父类的方法后,可对父类的方法进行重写。

public class Son extends Fat{
private int b;
private String h1;
public void   sss() {
System.out.println("我要学好英语");    //在这我们对父类中的sss()方法进行了重写
}
public void   iii() {
System.out.println("今天天气真好");  // 在这我们添加了子类特有的方法
}

}
class Fat{
 public int a=5;
private String h;
public void   sss() {
System.out.println("我要学好java");
}

}

2.父类用作对象的声明类型,构造器用子类的构造器(有点类似于接口和实现类的对象的关系)。这样使得我们的应用场景和范围更为灵活和广泛。我们知道一个父类可以有多个子类,这样我们可以在声明的时候用父类,在具体的构造器时,我们用子类。这时,这个新生成的对象是父类类型的对象,也就是说这个对象中目前只有父类的属性和方法(如果子类重写,则用子类重写的方法)。如果我们需要调用子类中特有的方法和属性,则我们需要将该对象强制转换成子类类型的对象。看下面代码

public class TestSon {
public static void main(String[] args) {
Fat s=new Son();     //我们在这进行了父类用作对象的声明类型,构造器用子类的构造器。
s.sss();                    //我们调用了对象中的sss()方法,为我们重写过的方法
System.out.println(s.a);    //  我们展示了父类中属性a的值,此处为public(没有进行封装)
Son y=(Son)s;             //将s对象转化为Son类型的y对象
y.iii();;                           //这样我们可以通过y对象来调用子类中特有的iii()方法。
int u=y.b;                     //同时我们也可以接受子类中特有的属性b。

}

}

对这个知识点的理解和记忆中,我们可以用七个葫芦娃和葫芦娃爸爸(我假设的)来理解。假设葫芦娃爸爸只有吃饭这一个技能包,七个葫芦娃的技能点儿除了吃饭之外,分别还有比如喷火、喷火等技能包(每个人都不一样)。故我们可以在用某一个对象时,可以先以葫芦娃爸爸作为声明类型,然后呢用具体的葫芦娃进行构造。当我们在表达吃饭的动作(每个小葫芦娃都要吃饭啊~~~)时,我们就可以用当前对象名,吃饭(方法)来表示。但是当需要用喷火(方法),我们就需要将这个对象转化成葫芦四娃类型的了(因为这个是他和葫芦娃爸爸不一样的地方,四娃特有)。

3.Object类是所有类的父类,其中有方法equals等方法。

转载于:https://www.cnblogs.com/zhoumin6012/p/9848751.html

java中父类与子类的关系以及使用相关推荐

  1. java中父类与子类有相同属性调谁?取决于左边

    java中父类与子类有相同属性调谁?答案是:取决于左边! 一. 在今天的继承复习当中,我有对继承中的属性有新的感悟------>子类继承父类,会继承父类的方法和属性,看下图: 从上图可以看出,即 ...

  2. java中父类和子类_java中父类和子类的关系

    子类继承父类,子类中就拥有父类的所有属性和方法.在创建子类的实例的时候,父类和子类到底是如何执行的呢?还有静态代码块和非静态代码块和构造方法的执行顺序? 1.先执行父类的静态代码块,然后再子类静态代码 ...

  3. java中父类创建子类的语法_Java 语言中,所创建的子类都应有一个父类。( )_学小易找答案...

    [判断题]一个类可以实现多个接口,接口可以实现"多重继承". ( ) [简答题]报价议价环节话术 [单选题]定义一个公有double型常量PI,哪一条语句最好?( ) [论述题]展 ...

  4. java中父类与子类, 不同的两个类中的因为构造函数由于递归调用导致栈溢出问题...

    1 /* 2 对于类中对成员变量的初始化和代码块中的代码全部都挪到了构造函数中, 3 并且是按照java源文件的初始化顺序依次对成员变量进行初始化的,而原构造函数中的代码则移到了构造函数的最后执行 4 ...

  5. Java中父类和子类抛出异常的处理

    (尊重劳动成果,转载请注明出处:https://blog.csdn.net/qq_25827845/article/details/85109390冷血之心的博客) 背景: 这篇博客的灵感来自于我在实 ...

  6. java子类和父类实例_java中父类与子类之间的转换示例

    java中父类与子类之间的转换示例有以下三点: 示例一 父类强制转子类 pre class="brush:php;toolbar:false">Father f = new ...

  7. 【java】父类与子类的引用赋值关系

    理清楚4个目标 父类引用("名") 父类对象("实") 子类引用 子类对象 理清楚几个操作 // 父类 public class parent{}// 子类 p ...

  8. java中序列化之子类继承父类序列化

    原文 父类实现了Serializable,子类不需要实现Serializable 相关注意事项     a)序列化时,只对对象的状态进行保存,而不管对象的方法:     b)当一个父类实现序列化,子类 ...

  9. java 继承 子类 实例化_关于Java继承中父类和子类构造函数的问题

    Java子类在实例化时默认调用的是父类的无参构造函数,不论实例化时调用的是子类的有参还是无参构造函数, 1.当父类没有显式定义构造方法时, 编辑器会默认为此类添加一个隐式无参构造函数.此时子类可以有自 ...

最新文章

  1. spring boot项目 中止运行 最常用的几种方法
  2. Shell环境变量以及set,env,export的区别
  3. centos6 yum源不能使用
  4. [Cypress] install, configure, and script Cypress for JavaScript web applications -- part3
  5. 属于web框架的python库_(2017)我不建议使用的Python Web框架
  6. php输出json到表格,PHP中把数据库查询结果输出为json格式
  7. android 解析错误 真机,AndroidStudio使用真机调试时出的一些bug
  8. java 小根堆 排序_堆排序(java实现)
  9. 激活函数active function
  10. Apple计划开发完全定制的GPU架构
  11. mysql end case连接_MySql 中 case when then else end 的用法
  12. ❤️什么是Java 面向对象《装、继承、多态、抽象》?建议收藏)❤️
  13. MOQL-复杂事件处理(CEP)
  14. 十大因素——造就优秀的董事长
  15. html烟花特效,发射粒子特效,爱心特效,动态祝福、节日祝福网页,时间罗盘,黑客帝国代码雨、文字闪烁、表白爱心网页等等(附下载链接)
  16. 揭秘跨境电商亚马逊店铺新手培训骗局!有人已经被骗了好几万了!
  17. WWW2022推荐系统/计算广告论文集锦
  18. D. Berserk And Fireball(Educational Codeforces Round 91 (Rated for Div. 2))
  19. python降序排序_python中如何降序排列
  20. 在vue中报export ‘default‘ (imported as ‘Vue‘) was not found in ‘vue 解决办法

热门文章

  1. 如何在 Mutt 邮件客户端中使用密文密码
  2. AngularJs 取消对 html 字符串标签转义
  3. Virtual Earth API 在指定zoomLevel添加自定义图层
  4. centos6.9安装oracle10,2018-10-09 centos6.9 安装cx_Oracle
  5. 深入解析Python中的变量和赋值运算符
  6. 计算机相关的考试题目,计算机考试相关题目汇总.doc
  7. java并行任务dispatch_Java模拟 双分派Double Dispatch
  8. mysql for循环_基于Swoole扩展开发异步高性能的MySQL代理服务器
  9. python 每分钟运行一次_调度Python脚本以准确地每小时运行一次
  10. 解决k8s中node拉取镜像失败问题