您的位置:

java中关于对象转型的解释,Java上转型对象

本文目录一览:

在java中,什么是对象类型的转换,

一般就是继承关系的父类和子类,进行对象类型的转换,我们知道子类继承父类,说明子类有了父类的大多数方法,同时子类也可以有自己的方法,如果我们些

A

a

=

new

B();其中B是A的子类,那么这样写没有错。反过来写就有错,因为父类没有子类的一部分方法(可以这么理解)。至于有什么用,这个问题很深奥啊,这个和编程思想有关系,这种写法比较好。一般用父类new子类,可以理解为比如一个鸟的类型,下面有许多子类,我们不用关心new的是什么鸟,因为他们都有相同的父类方法只是实现的时候不一样。可以看看java编程思想,多理解一下,具体我也说不清楚

关于java上转型对象

classHuman{

publicvoiddrink(){System.out.println("Human");}

}

classYongManextendsHuman{

publicvoiddrink(){System.out.println("YongMan");}}

}

publicclassTest{

publicstaticvoidmain(Stringarge[]){

Humane2=newYongMan();

e2.drink();

}

}

以上面这个程序为例子

Humane2=newYongMan();

这句其实是指父类对象e2是子类YongMan对象的上转型对象

上转型对象不能操作子类新增的成员变量(失掉了这部分属性);不能使用子类新增的方法(失掉了一些功能)。

上转型对象可以操作子类继承或者隐藏的成员变量,也可以使用子类继承的或者重写的方法。上转型对象操作子类继承或重写的方法,其作用等价于子类对象去调用这些方法。因此,如果子类重写了父类的某个方法,则当对象的上转型对象调用这个方法时一定是调用了这个重写的方法

上面的YongMan类中的drink()方法重写了父类的方法

所以最后的输出结果是YongMan

自学JAVA,关于对象转型

先不谈对象,拿基本数据类型来说,int a; 这样就声明了一个int类型的变量,但这个变量还没有值,a = 1; 这就是帮a赋值为1. 而对象也是如此Person p; 是声明了一个Person类型的变量,名字叫p,也就是开辟了一块内存叫p,然后p = new Person(); 就是实例化一个Person对象,在内存中开辟一块空间存放Person对象,让p来指向这块内存,就用通过p来调用这个对象了。

对象用不同的类声明或实例化,Person p;是在内存中声明一个Person类型变量,它只能指向Person类型的实例,不然就会报错,Dod d;是在内存中声明一个Dog类型变量,它只能指向Dog类型的实例,new Person();就是在内存中开辟一块空间存放一个Person实例,p = new Person();就是在内存中开辟一块空间存放一个Person实例让p类指向它,所以你不能用Dog d = new Person();类型不对,只能Dog d = new Dog(); 什么类型的引用才能执行什么类型的指针,如果Dog继承了Animal,像Animal a = new Dog();也是可以的 因为Dog就是一种Animal。什么类型的引用只能调用对应类型的属性和方法。p只能调用Person里面的属性和方法,d只能调用Dog里面的属性和方法,a只能调用Animal里面的属性和方法,虽然是new的Dog对象,但是你是把它当做Animal看的。Animal a = new Dog();这种写法很常见,多态机制你可能还没学 后面你就明白了

Java中对象的上转型对象的定义

class Human{

public void drink(){System.out.println("Human");}

}

class YongMan extends Human{

public void drink(){System.out.println("YongMan");}}

}

public class Test{

public static void main(String arge[]){

Human e2=new YongMan();

e2.drink();

}

}

以上面这个程序为例子

Human e2=new YongMan();

这句其实是指父类对象e2是子类YongMan对象的上转型对象

上转型对象不能操作子类新增的成员变量(失掉了这部分属性);不能使用子类新增的方法(失掉了一些功能)。

上转型对象可以操作子类继承或者隐藏的成员变量,也可以使用子类继承的或者重写的方法。上转型对象操作子类继承或重写的方法,其作用等价于子类对象去调用这些方法。因此,如果子类重写了父类的某个方法,则当对象的上转型对象调用这个方法时一定是调用了这个重写的方法

上面的YongMan 类中的drink()方法 重写了父类的方法

所以最后的输出结果是YongMan

java中向上转型和向下转型什么意思?是用来干什么的?请高手解释下,通俗点,谢谢!

我们在现实中常常这样说:这个人会唱歌。在这里,我们并不关心这个人是黑人还是白人,是成人还是小孩,也就是说我们更倾向于使用抽象概念“人”。再例如,麻雀是鸟类的一种(鸟类的子类),而鸟类则是动物中的一种(动物的子类)。我们现实中也经常这样说:麻雀是鸟。这两种说法实际上就是所谓的向上转型,通俗地说就是子类转型成父类。这也符合Java提倡的面向抽象编程思想。

子类转型成父类是向上转型,反过来说,父类转型成子类就是向下转型。但是,向下转型可能会带来一些问题:我们可以说麻雀是鸟,但不能说鸟就是麻雀。

怎么理解Java的转型对象

我来提供一个比较靠谱的详细的解释,假设,A类是B类的父类,当我们用子类创建一个对象,并把这个对象的引用放到父类的对象中时,比如A a;

A=new B();

A a;

B b=new B();

a=b;

称这个父类对象 a,是子类对象b的上转型对象。好比说“老虎是哺乳动物”。对象的上转型对象的实体是子类负责创建的,但上转型对象会失去原对象的一些属性和功能。上转型对象具有如下特点:

1 上转型对象不能操作子类新增的成员变量(失掉了这部分属性),不能使用子类新增的方法(失掉了一些功能)。

2 上转型对象可以操作子类继承或重写的成员变量,也可以使用子类继承的或重写的方法。

3 如果子类重写了父类的某个方法后,当对象的上转型对象调用这个方法时一定是调用了这个重写的方法。

java中关于对象转型的解释,Java上转型对象

2022-11-18
java对象类型,java对象类型强制转换

2023-01-04
java对象转换,java对象转换为map

2023-01-05
java是面向对象,java是面向对象的解释型

2022-11-30
json转java对象gson,json转java对象区分大

2022-11-24
json对象转化为java对象(java将对象转成json)

本文目录一览: 1、非常复杂的一个json串,怎么转成java对象? 2、怎么将json对象转换成一个java对象 3、json字符串怎么转换为java对象 4、json字符串怎么转换为java对象?

2023-12-08
Java Object转对象详解

2023-05-19
印象笔记记录java学习(Java成长笔记)

2022-11-12
java个人笔记之多态转型(java多态向上转型)

2022-11-14
将jsonobject转换成java对象,jsonobjec

本文目录一览: 1、json字符串怎么转换为java对象 2、怎么将json对象转换成一个java对象 3、json数组转java对象怎么转? 4、Java中JSONObject为什么要转换成Java

2023-12-08
Java对象转XML详解

2023-05-23
java向上转型,java向上转型的employee

2023-01-03
java对象转map怎么操作(java对象转化为map)

2022-11-09
json串转java对象(复杂json串转为java对象)

本文目录一览: 1、json数组转java对象怎么转? 2、json格式的字符串转换为java对象 3、json数组转java对象怎么转 json数组转java对象怎么转? 1、需要json的相关ja

2023-12-08
Java中Map转JsonObject对象详解

2023-05-21
javajson转csv(Java json转对象)

本文目录一览: 1、如何将json的数据转化成csv的数据格式 2、java中怎么把json转换成对象数组 3、java将json格式转换嫒雖ysql的java脚本,有没有 4、如何将CSV格式转换成

2023-12-08
java对象转json顺序,将json对象转化为java对象

2022-11-26
Java对象转数组

2023-05-11
jsonobject对象转java对象,json字符串转js

2022-11-25
java对象与json的互换,js中对象与json对象的转换

2022-11-22