-
java上转型对象实验分析_java、上转型对象
2021-03-10 10:06:161. 定义如果B类是A类的子类或间接子类,当用B类创建对象b并将这个对象b的引用赋给A类对象a时,如:A a;a = new B();...上转型对象具有以下特点:上转型对象不能操作子类新增加的成员变量,不能使用子类新...1. 定义
如果B类是A类的子类或间接子类,当用B类创建对象b并将这个对象b的引用赋给A类对象a时,如:
A a;
a = new B();
OR
A a;
B b = new B();
a = b;
则称A类对象a是子类B对象b的上转型对象。
2. 性质
对象b的上转型a的实体是有子类B创建的,但是上转型对象会失去子类B的一些属性和功能。上转型对象具有以下特点:上转型对象不能操作子类新增加的成员变量,不能使用子类新增的方法。即为较子类B失去一些属性和功能,这些属性和功能是新增的。
上转型对象可以操作子类继承或隐藏的成员变量,也可以使用子类继承的或重写的方法。即为上转型对象可以操纵父类原有的属性和功能,无论这些方法是否被重写。
上转型对象调用方法时,就是调用子类继承和重写过的方法。而不会是新增的方法,也不是父类原有的方法。
可以将对象的上转型对象再强制转换到一个子类对象,强制转换过的对象具有子类所有属性和功能。
3. 举例
如:
OutputStream output;
output = new FileOutputStream(filename);
并且根据Java API知
java.lang.Object
java.io.OutputStream
java.io.FileOutputStream
这时,output就是上转型对象啦。有什么特殊呢?就是output可以使用FileOutputStream从父类OutputStream那里继承来的方法和重写的方法,而不能使用子类FileOutputStream自己新增的方法啦。最后,这种方法是很常用的哦。。。当父类有很多子类时,就能实现方法的多态。^_^
-
JAVA 上转型对象
2017-01-10 13:29:19JAVA 上转型对象 ... 那么就称对象a是子类对象b的上转型对象,对象的上转型对象的实体是子类负责创建的,但上转型对象会失去原对象的一些属性和功能。 上转型对象具有如下特点:JAVA 上转型对象
假设,B是A的子类或间接子类,当用子类B创建一个对象,并把这个对象的引用放到A类声明的对象中时,比如:
A a;
a=new B();
那么就称对象a是子类对象b的上转型对象,对象的上转型对象的实体是子类负责创建的,但上转型对象会失去原对象的一些属性和功能。上转型对象具有如下特点:
上转型对象实例:
class Animal{ void cry(){ System.out.println("I don't known"); } } class Dog extends Animal{ void cry(){ System.out.println("汪汪..."); } } public class Kq_8 { public static void main(String[] args){ Animal animal=new Dog();//animal是Dog类对象的上转型对象 animal.cry(); } }
输出结果是 :"汪汪...而不是 I don' t know
注意:
(1)上转型对象不能操作子类声明定义的成员变量;也不能使用子类声明定义的方法。
(2)上转型对象可以操作子类继承的成员变量和隐藏的成员变量,也可以使用子类继承的或重写的方法。
(3)上转型对象不能操作子类新增的方法和成员变量。
(4)可以将对象的上转型对象再强制转换到一个子类对象,此时,该子类对象又具备了子类所有属性和功能。再通过一个实例来说明:
class Mammal{ private int n=40; void crySpeak(String s){ System.out.println(s); } } class Abc extends Mammal{ void computer(int aa,int bb){ int cc=aa*bb; System.out.println(cc); } void crySpeak(String s){ System.out.println("*****************"+s); } } public class Kq_7 { public static void main(String[] args){ Mammal a=new Abc(); //a是Abc类对象的上转型对象 a.crySpeak("tammy"); Abc b=(Abc)a; //把上转型对象强制转化为子类的对象 b.computer(2,2); } }
运行结果:*****************tammy
4 -
Java 上转型对象
2019-10-14 21:56:56上转型对象具有如下特点: 上转型对象不能操作子类新增加的成员变量,不能使用子类新增的方法。即上转型对象较子类B失去一些属性和功能,这些属性和功能是子类新增的。 上转型对象可以操作子类继承或隐藏的成员...(1)上转型对象
上转型对象具有如下特点:
- 上转型对象不能操作子类新增加的成员变量,不能使用子类新增的方法。即上转型对象较子类B失去一些属性和功能,这些属性和功能是子类新增的。
- 上转型对象可以操作子类继承或隐藏的成员变量,也可以使用子类继承的或重写的方法。即为上转型对象可以操纵父类原有的属性和功能,无论这些方法是否被重写
- 上转型对象调用方法时,就是调用子类继承和重写过的方法。而不会是新增的方法,也不是父类原有的方法。
class Person2{ int a= 11; int b= 0; //相对于Student类 隐藏的变量 public void eat() { System.out.println("我什么都喜欢吃!"); } public void rt(){ System.out.println("rt!"); } } class Student2 extends Person2{ int a =2; int c =1; //子类新增加的方法 public void eat() { System.out.println("我喜欢吃冰淇淋!"); //覆盖父类方法 } public void study(){ System.out.println("I can study!"); } // Student类定义了自己的新方法 public void rt(){ System.out.println("子类rt!"); } } public class Test1 { public static void main(String[] args) { Person2 p = new Student2(); //向上转型 p.eat(); p.rt(); System.out.println(p.b);//隐藏的变量 System.out.println(p.a); } }
两者区别:
-
Java上转型对象
2018-03-03 20:53:451. 定义如果B类是A类的子类或间接子类,当用B类创建对象b并将这个对象b的引用赋给A类对象a时,如:Parent p;...上转型对象具有以下特点:上转型对象不能操作子类新增加的成员变量,不能使用子类新增的方法...1. 定义
如果B类是A类的子类或间接子类,当用B类创建对象b并将这个对象b的引用赋给A类对象a时,如:
Parent p;
Son s = new Son();p=s;则称Parent类对象p是子类Son对象s的上转型对象。
2. 性质
对象b的上转型a的实体是有子类B创建的,但是上转型对象会失去子类B的一些属性和功能。上转型对象具有以下特点:
- 上转型对象不能操作子类新增加的成员变量,不能使用子类新增的方法。即为较子类B失去一些属性和功能,这些属性和功能是新增的。
- 上转型对象可以操作子类继承或隐藏的成员变量,也可以使用子类继承的或重写的方法。即为上转型对象可以操纵父类原有的属性和功能,无论这些方法是否被重写。
- 上转型对象调用方法时,就是调用子类继承和重写过的方法。而不会是新增的方法,也不是父类原有的方法。
- 可以将对象的上转型对象再强制转换到一个子类对象,强制转换过的对象具有子类所有属性和功能。
-
java上转型对象抽象类_java-上转型对象&抽象类-学习记录
2021-03-16 04:01:04上转型对象:如果B类是A类的子类(或间接子类),当用子类创建对象b并将这个对象的引用放到父类对象a中时,如:A a;a = new b()或A a;B b = new B();a = b;则称a是b的上转型对象。对象b的上转型a的实体是有子类B创建的... -
java上转型对象抽象类_java-上转型对象&抽象类-学习记录
2021-03-16 04:00:30上转型对象:如果B类是A类的子类(或间接子类),当用子类创建对象b并将这个对象的引用放到父类对象a中时,如:A a;a = new b()或A a;B b = new B();a = b;则称a是b的上转型对象。对象b的上转型a的实体是有子类B创建的... -
java上转型对象特点_Java 浅析三大特性之一继承
2021-03-16 22:12:38上文Java 浅析三大特性之一封装我们说到Java是一个注重编写类,注重于代码和功能复用的语言。Java实现代码复用的方式有很多,这里介绍一个重要的复用方式——继承。在介绍继承之前,我们要明确一点,继承是一个比较... -
上转型对象的使用java_java-上转型对象&抽象类-学习记录
2021-03-16 16:57:08上转型对象:如果b类是a类的子类(或间接子类),当用子类创建对象b并将这个对象的引用放到父类对象a中时,如:a a;a = new b()或a a;b b = new b();a = b;则称a是b的上转型对象。对象b的上转型a的实体是有子类b创建的... -
java上转型的特点
2020-06-06 14:33:34上转型对象:子类创建一个对象,并且把该对象的引用放到父类声明的变量中。 特点: (1)上转型对象不能操作子类新增的成员变量和成员方法。上转型不能直接操作子类中和父类同名的成员变量,需要借助于get和set方法... -
java上转型对象抽象类_java-上转型对象&抽象类-学习记录_Java_七九推
2021-03-16 04:00:33上转型对象:如果b类是a类的子类(或间接子类),当用子类创建对象b并将这个对象的引用放到父类对象a中时,如:a a;a = new b()或a a;b b = new b();a = b;则称a是b的上转型对象。对象b的上转型a的实体是有子类b创建的... -
Java中对象的上转型对象
2019-09-29 14:47:291. 定义 如果B类是A类的子类或间接子类,当用B类创建对象b并将这个对象b的引用赋给A类对象a时,如: A a;a = new B();ORA a;B b = new B();a = b; ...上转型对象具有以下特点: 上转型对象... -
Java5-3 对象的上转型对象
2020-12-07 20:36:09Java5-3 对象的上转型对象 1.上转型对象: 如果B类是A类的子类或间接子类,当用B类创建对象b并将这个对象b的引用赋给A类对象a时,则称A类对象a是子类B对象b的上转型对象。 如: A a; a = new B(); OR A a; B b = new... -
关于java的上转型对象
2016-05-05 13:34:001. 定义 如果B类是A类的子类或间接子类,当用B类创建对象b并将这个对象b的引用赋给A类对象a时,如: A a;a = new B();ORA a;B b = new B();...上转型对象具有以下特点: 上转型对象不能操作子... -
java、上转型对象
2015-07-07 23:54:391. 定义如果B类是A类的子类或间接子类,当用B类创建对象b并将这个对象b的引用赋给A类对象a时,如:A a;a = new B();ORA a;B b = new B();...上转型对象具有以下特点:上转型对象不能操作子类新增加的成... -
Java基础之上转型对象
2021-01-15 12:54:08上转型对象相当于子类对象的一个简化对象,比如说老虎是动物,失去了老虎特有的属性如老虎的爪子,而上转型对象有以下特点 1.上转型对象不能操作子类新增的成员变量,不能调用子类新增的方法 2.上转型对象可以访问... -
Java中的上转型对象通俗解释转载
2020-11-04 19:19:31对象的上转型对象的实体是子类负责创建的,但上转型对象会失去原对象的一些属性和功能。上转型对象具有如下特点:1 上转型对象不能操作子类新增的成员变量(失掉了这部分属性),不能使用子类新增的方法(失掉了一些... -
Java:简单化的上转型对象介绍
2020-06-06 22:55:253、上转型对象的定义: 如果类B是类A的子类或间接子类,当用类B创建对象b并将这个对象b的引用时 给类A的对象a时,如: A a; a= new B(); 或 A a; B b= new B(); a= b; 则称类A的对象a是子类B对象b的上转型对象。 4... -
对象的上转型对象有怎样的特点
2019-12-24 14:46:492.java.lang包中的Object类是所有其他类的祖先类吗? 答案:是 3.如果子类和父类不在同一个包中,子类是否继承父类的友好成员? 答案:不继承 4.子类怎样隐藏继承的成员变量? 答案: 声明与父类同名的成员变量 5... -
java-上转型对象&抽象类-学习记录
2019-09-29 03:11:03上转型对象: 如果B类是A类的子类(或间接子类),当用子类创建对象b并将这个对象的引用放到父类对象a中时,如: A a; a = new b() ...上转型对象具有以下特点 上转型对象不能操作子类新增加的成... -
java基础----对象的上转型对象
2008-06-09 16:06:00对象的上转型对象的特点:(1)上转型对象不能操作子类新增的成员变量和方法(2)上转型对象调用的是隐藏的成员变量和重写的方法(发生隐藏/重写时),即子类的成员(3)可以将上转型对象强制转到子类的对象,这时该对象就... -
java 向上转型和向下转型的特点
2020-09-27 13:33:08在一个子类被创建的时候,首先会在内存中创建一个父类对象,然后在父类对象外部放上子类独有的属性,两者合起来形成一个子类的对象,所以子类可以继承父类中所有的属性和方法,包括private修饰的属性和方法,但是... -
Java 多态运行顺序&&多态上转型对象
2016-04-16 16:59:56(3)如果子类重写了父类的某个方法后,对象的上转型对象调用这个方法时,一定是调用了这个重写的方法。 (4)可以将对象的上转型对象再强制转化为一个子类对象,这时,该子类对象又具备子类的所有属性和功能。 -
java向上转型和向下转型有什么用_多年积累分享Java传说找对象技术总结
2020-11-29 04:45:54一、static关键字作用:用来修饰类的成员(属性、方法)static关键字特点:在类加载时就加载(运行、初始化)(类先于对象加载,程序中只加载一次,搞清楚看先后顺序)静态初始化优于对象的静态的成员(属性和方法)可以通过...