java多态课后作业

一、验证

(1)子类和父类定义了一模一样的方法

·结果是100、200、200、200、201

·父类调用了子类的方法,但是方法中调用的变量是子类的变量

·自我总结:子类中的方法,如果调用同名变量,则调用的是子类的。

总结:

·当子类与父类拥有一样的方法,并且让一个父类变量引用一个子类对象时,到底调用哪个方法,由对象自己的“真实”类型所决定,这就是说:对象是子类型的,它就调用子类型的方法,是父类型的,它就调用父类型的方法。

·这个特性实际上就是面向对象“多态”特性的具体表现。

·如果子类与父类有相同的字段,则子类中的字段会代替或隐藏父类的字段,子类方法中访问的是子类中的字段(而不是父类中的字段)。如果子类方法确实想访问父类中被隐藏的同名字段,可以用super关键字来访问它。

·如果子类被当作父类使用,则通过子类访问的字段是父类的!

时间: 2025-01-31 07:38:33

java多态课后作业的相关文章

JAVA字符串课后作业

1.古罗马皇帝凯撒在打仗时曾经使用过以下方法加密军事情报: 请编写一个程序,使用上述算法加密或解密用户输入的英文字串要求设计思想.程序流程图.源代码.结果截图. 程序设计思想: 输入要加密的子串str,定义字符串长度,将字符串转化为单个字符,每个字符+3,向后移3个,每个字符-3,向前移3个,定义str1,将新得到的每个字符加到str1后,得到加密后的英文子串str1,定义str2,将新得到的每个字符加到str2后,得到解密后的英文子串str2,输出加密后的子串str1,输出解密后的子串str2

08 多态课后作业

知识点一:类型转换 源代码: class Mammal{} class Dog extends Mammal {} class Cat extends Mammal{} public class TestCast { public static void main(String args[]) { Mammal m; Dog d=new Dog(); Cat c=new Cat(); m=d; //d=m;//编译不通过 d=(Dog)m; //d=c;//编译不通过 c=(Cat)m; } }

JAVA数组课后作业

1.上述代码可以顺利通过编译,并且输出一个“很奇怪”的结果:Ljava.lang.Object;@ba8a1dc,这是为什么? 由于java的Object数组不能转换成为String[]数组,这就说明你要转换的数组它本身是Object类型的数组,但是你却非要把它转换为String类的数组,这当然是错误的.在遇到类型转换出错的时候,首先要观察被转换的对象的原来类型是什么,这个就需要首先把它转换成为自己本来的类型的对象,然后根据这个对象再去操作里面的元素,再一次的转换类型,而且有的时候被分析的对象可

Java 02 课后作业

第一题: //在消息框中输入两个数,并用消息框显示出两个数的加减乘除的结果 import javax.swing.JOptionPane; public class Calculator { public static void main(String args[]) { String firstNumber,secondNumber; int number1,number2,sum,minus,plus,divide; firstNumber=JOptionPane.showInputDial

继承与多态 - 课后作业

1 . 继承条件下的构造方法调用 class Grandparent { public Grandparent() { System.out.println("GrandParent Created."); } public Grandparent(String string) { System.out.println("GrandParent Created.String:" + string); } } class Parent extends Grandpar

java继承课后作业

1.动手实验:继承条件下的构造方法调用 源代码:class Grandparent{public Grandparent(){System.out.println("GrandParent Created.");}public Grandparent(String string){System.out.println("GrandParent Created.String:"+string); }}class Parent extends Grandparent{p

JAVA第三周课后作业

JAVA课后作业 一.枚举类型 代码: enum Size{SMALL,MEDIUM,LARGE}; public cl ass EnumTest { public static void main(String[] args) { Size s=Size.SMALL; Size t=Size.LARGE; //s和t引用同一个对象? System.out.println(s==t);  // //是原始数据类型吗? System.out.println(s.getClass().isPrimi

JAVA语法基础 动手动脑及课后作业

动手动脑1: 仔细阅读示例: EnumTest.java,运行它,分析运行结果? public class EnumTest { public static void main(String[] args) { Size s=Size.SMALL; Size t=Size.LARGE; //s和t引用同一个对象? System.out.println(s==t);  // //是原始数据类型吗? System.out.println(s.getClass().isPrimitive()); //

java课后作业-4

一.编写一个方法,使用以上算法生成指定数目(比如1000个)的随机整数. public class suiji { private static final int N = 200; private static final int LEFT = 40; private static final int RIGHT = 10000; private static long x0 = 1L; private long a = 1103515245L; private long c = 12345L