`

Java之类和对象

    博客分类:
  • Java
 
阅读更多

                                                                     类的继承的总结

  第一次开通博客,以后就把这里当成心灵家园吧。所以从发这个博文开始,记录以后的学习情况。

  我们使用类的继承通常有两个方面的作用:(1)、提高代码的重用性;(2)、提高程序的扩展性。
   1、 类的继承格式是怎样的?
   java继承的关键字是: extends。
   public class 类名 (子类,派生类)extends 类名(父类,基类){

   }

   2、另外注意是java中类的继承是单继承,即java 不能多继承。只能单继承,但是可实现多接口。
   例如:
   class A extends B implements C,D,E
  {
  }
  A继承类B,实现接口C,D,E,B位置只能有一个类,CDE可以有多个。实在不能理解就这么理解:你有几个亲爹。。
  子类继承到了父类的那些属性和方法
  子类继承到了父类所有的属性和方法。

  3、能调用的属性和方法:
  访问修饰符   同类    不同类    不同包    不同包但是有继承关系
  private          可以    不可以    不可以    不可以
  默认             可以    可以       不可以     不可以
  protected     可以    可以       不可以     可以
  public           可以    可以       可以        可以


 
子类能不能自己定义属性和方法?
       可以的

  4、方法重写
   方法重写的条件:
  (1).必须要存在继承关系
  (2).子类重写方法时,方法的返回值类型,方法名,参数个数,参数类型,参数顺序必须要和父类的完全一致
  (3).子类重写方法的访问修饰符可以大于或者等于父类方法的访问修饰符。
   如何调用呢?
  你实例化的对象(new关键字后边的构造方法是子类的还是父类的)如果是子类的,那么优先调用子类的方法,如果子类中没有该方法
  则调用父类的方法,如果创建对象不是子类的则执行父类的方法
   5、自动转型
要实现自动转型必须要存在继承关系。
自动转型格式一:
  父类名 对象名  = new 子类构造方法(参数值,...);
  Student un = new UNStudent();
自动转型格式二:
  public void test(父类名  对象名){
   //代码
  }
 
  父类名 对象名A  = new 子类构造方法(参数值,...);
  子类名 对象名B  = new 子类构造方法(参数值,...);
  test(对象名B);
  test(对象名A);

  子类类型转成父类类型后不能调用子类特有的方法
  将父类类型转化的对象强制转成子类类型,我们就可以调用子类中特有的方法了。

   6、多态
  多态是由类、对象、方法重载、继承、重写、自动转型技术的组合。
  多态是由于继承和重写机制,相同类型的对象调用相同的方法,得到的结果可能不一样。

 

  简述java中的多态?

  "多态"一词按照字面意思来理解为"多种形式,多种状态"。它的本质是,发送消息给某个对象,让该对象自行决定响应何种行为。通过将子类对象引用赋值给超类对象引用变量来实现动态方法调用。

 

public class polymorphismTest {

	public static void main(String[] args) {
		Man asiaMan = new AsiaMan();// 创建一个亚洲人,转化成Man类型
		Man euroMan = new EuroMan();// 创建一个亚洲人,转化成Man类型
		System.out.println("Asia men eyes' color is " + asiaMan.getEyesColor());
		System.out.println("Euro men eyes' color is " + euroMan.getEyesColor());
	}

	public static class Man {

		int eyes = 2;// 眼睛数量为2

		String getEyesColor() {// 返回人眼睛颜色
			return null;
		}
	}

	public static class AsiaMan extends Man {// 亚洲人
		String getEyesColor() {// 覆盖返回人眼睛的颜色的方法,为黑色
			return "black";
		}
	}

	public static class EuroMan extends Man {// 欧洲人
		String getEyesColor() {// 覆盖返回人眼睛的颜色的方法,为蓝色
			return "blue";
		}
	}
}

 

  • 大小: 7.4 KB
分享到:
评论

相关推荐

    java基础-类和对象的定义

    通过书籍,个人整理的java基础之类的对象的定义的有关知识点

    JAVA类与对象及数组习题

    很好的题,希望能给大家一点点帮助。 本文件为“JAVA类与对象及数组习题”是题哦

    实验三:Java类与对象

    本次实验进一步学习了Java的相关知识,深入理解了面向过程与面向对象语言的区别,了解了面向对象语言的三大特征,掌握类的声明和构造方法,掌握了对象的创建方法与创建机制,掌握了成员变量、类变量和局部变量区别,...

    Java教程之类和对象

    Java教程之类和对象

    java复数四则运算-类的定义与对象.rar

    1. 编写一个类实现复数的运算。 复数类ComplexNumber的属性: m_dRealPart:实部,代表复数的实数部分。 m_dImaginPart:虚部,代表复数的...2. 编写Java Application程序使用上题定义的类,检查类定义是否正确。

    JAVA类与对象及数组习题.pdf

    JAVA类和对象及数组习题 一、选择题 1. 构造方法的调用方式中,正确的是()C.只能通过 new 自动调用 解释:在 Java 中,构造方法只能通过 new 关键字自动调用,而不能被用户直接调用。 2. 能实现多重继承效果...

    java学习之Java 对象和类

      类可以看成是创建 Java 对象的模板。   例如,在真实世界的学校里,会有学生和老师等实体,学生有学号、姓名、所在班级等属性(数据),学生还有学习、提问、吃饭和走路等操作。学生只是抽象的描述,这个抽象...

    Java程序基础类和对象的关系2022优秀文档.pptx

    Java程序基础类和对象的关系是Java程序设计的核心概念之一。类和对象之间存在着紧密的关系,类是对象的抽象,对象是类的具体化和实例化。 类是对象的抽象 在Java程序设计中,类是一个抽象的概念,它定义了对象的...

    Educoder题目:Java面向对象 - String类答案解析.md

    Educoder题目:Java面向对象 - String类答案解析

    java面向对象、类与对象的定义笔记

    java面向对象、类与对象的定义笔记,是第5章节知识要点,很值得一看。

    java类和对象之可变参数.docx

    java类和对象之可变参数

    java类和对象之可变参数.pdf

    java类和对象之可变参数

    Java-类和对象

    功能:初始化当前类对象中保存的成员变量数据。 一个类当中没有显式的声明构造方法的时候,Java编译器会默认的为其提供一个无参的构造方法,供其使用。 如果在一个类当中显式的声明了构造方法,不管式无参还是有参,...

    Java面向对象编程思想.pdf

    封装是 Java 面向对象编程的三大特征之一,通过 Java 的类来实现数据和操作方法的封装,对外界可以将每一个 Java 类都视为一个黑箱,只需要调用该黑箱提供的方法即可完成你想要的操作。封装使得类中的成员变量和方法...

    类的构造和对象的是使用java 分数

    定义一个类Fact表示无符号有理数(分数),成员有分子(num)和分母(den) 构造函数2个 一组get方法 一组set方法 方法: 从键盘输入分数的分子分母 -对分数进行约分(分子分母同时除以最大公约数) -对两个分数进行...

    稳稳当当学java之类与对象详解(9)

    本人的笔记,关于java基础中类与对象详解的内容 包括 1.作业回顾 2.成员方法 3.构造器 4.this关键字 5.包和导入 6.访问权限修饰符 7.数据封装 8.对象作为方法参数 9.练习

    12-Java面对对象高级(中)

    本章通过对象的多态性讲解了抽象类与接口的实际应用,并通过实例讲解了抽象类与接口的关系及使用,并简单介绍了适配器与工厂设计模式。

    Java 类和对象学习视频以及代码资源,文本题库

    Java 类和对象的学习

    Educoder题目:Java面向对象 - 封装、继承和多态答案解析.md

    Educoder题目:Java面向对象 - 封装、继承和多态答案解析

    Java语言程序设计实验之类与对象

    Java语言程序设计实验之类与对象 1:乐器(Instrument)分为:钢琴(Piano),小提琴(Violin),各种乐器的弹奏(play)方法各不相同。 2:编写一个测试类InstrumentTest,要求:编写方法 testPlay,对各种乐器进行...

Global site tag (gtag.js) - Google Analytics