Java中什么是对象?对象可以是数组吗?
publicclassText01{publicstaticvoidmain(Stringargs[]){inttemp[]={1,3,5,7,9};Objectobj=...
public class Text01 {
public static void main(String args[]){
int temp[]={1,3,5,7,9};
Object obj=temp;
print(obj);
}
public static void print(Object o){
if(o instanceof int []){
int x[]=(int [])o; //向下转型
for(int i=0;i<x.length;i++){
System.out.print(x[i]+"\t");
}
}
}
}
这里的形参O我觉得应该是数组,因为obj接收的是数组,可是 在instanceOf的时候O又只是一个对象,也就是说o实际上是对象。那数组是对象吗?他们的异同在哪里? 展开
public static void main(String args[]){
int temp[]={1,3,5,7,9};
Object obj=temp;
print(obj);
}
public static void print(Object o){
if(o instanceof int []){
int x[]=(int [])o; //向下转型
for(int i=0;i<x.length;i++){
System.out.print(x[i]+"\t");
}
}
}
}
这里的形参O我觉得应该是数组,因为obj接收的是数组,可是 在instanceOf的时候O又只是一个对象,也就是说o实际上是对象。那数组是对象吗?他们的异同在哪里? 展开
3个回答
展开全部
Object 是一切引用类型的父类,所有能被Object接收的均为对象
你上面写的数组 int[] temp = {1,3,5,7,9} 也可以写作 int[] temp = new int[]{1,3,5,7,9}
简言之,所有可以new出来的不管是类也好,接口也好,都可以看做为对象!并且都能被Object接收!
他们的异同之处就在于,对象是一个抽象的概念,而数组是对象,但是他有具体的实例!
例如,String a = "abc"; 当你声明String a 的时候,jvm(java虚拟机)就帮你在堆中开辟一块内存空间,用来存放a的数据"abc",这里的a叫作引用,"abc"则为实例!
其实 String a = "abc" 完整的写法是 String a = new String("abc") ,只不过是当jvm看到a的时候,不管你有没有new它,jvm都会在后台把new的过程给补上而已!
引用类型的变量,可以省去new的步骤,但是class和interface,是必须用new的!
反正你就记住,一切可以new的,都可以看作为对象,并且都可以被Object接收!
你上面写的数组 int[] temp = {1,3,5,7,9} 也可以写作 int[] temp = new int[]{1,3,5,7,9}
简言之,所有可以new出来的不管是类也好,接口也好,都可以看做为对象!并且都能被Object接收!
他们的异同之处就在于,对象是一个抽象的概念,而数组是对象,但是他有具体的实例!
例如,String a = "abc"; 当你声明String a 的时候,jvm(java虚拟机)就帮你在堆中开辟一块内存空间,用来存放a的数据"abc",这里的a叫作引用,"abc"则为实例!
其实 String a = "abc" 完整的写法是 String a = new String("abc") ,只不过是当jvm看到a的时候,不管你有没有new它,jvm都会在后台把new的过程给补上而已!
引用类型的变量,可以省去new的步骤,但是class和interface,是必须用new的!
反正你就记住,一切可以new的,都可以看作为对象,并且都可以被Object接收!
展开全部
凡Object及其子类都是,包括数组。
o是实例,o instanceof int[] 判断o是不是一个int[]。
o是实例,o instanceof int[] 判断o是不是一个int[]。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2020-12-21 · 百度认证:河南新华电脑学院有限公司官方账号
关注
展开全部
Object 是一切引用类型的bai父类,所有能du被Object接收的均为zhi对象
你上面写的数组dao int[] temp = {1,3,5,7,9} 也可以写作 int[] temp = new int[]{1,3,5,7,9}
简言zhuan之,所有shu可以new出来的不管是类也好,接口也好,都可以看做为对象!并且都能被Object接收!
他们的异同之处就在于,对象是一个抽象的概念,而数组是对象,但是他有具体的实例!
例如,String a = "abc"; 当你声明String a 的时候,jvm(java虚拟机)就帮你在堆中开辟一块内存空间,用来存放a的数据"abc",这里的a叫作引用,"abc"则为实例!
其实 String a = "abc" 完整的写法是 String a = new String("abc") ,只不过是当jvm看到a的时候,不管你有没有new它,jvm都会在后台把new的过程给补上而已!
引用类型的变量,可以省去new的步骤,但是class和interface,是必须用new的!
反正你就记住,一切可以new的,都可以看作为对象,并且都可以被Object接收!
你上面写的数组dao int[] temp = {1,3,5,7,9} 也可以写作 int[] temp = new int[]{1,3,5,7,9}
简言zhuan之,所有shu可以new出来的不管是类也好,接口也好,都可以看做为对象!并且都能被Object接收!
他们的异同之处就在于,对象是一个抽象的概念,而数组是对象,但是他有具体的实例!
例如,String a = "abc"; 当你声明String a 的时候,jvm(java虚拟机)就帮你在堆中开辟一块内存空间,用来存放a的数据"abc",这里的a叫作引用,"abc"则为实例!
其实 String a = "abc" 完整的写法是 String a = new String("abc") ,只不过是当jvm看到a的时候,不管你有没有new它,jvm都会在后台把new的过程给补上而已!
引用类型的变量,可以省去new的步骤,但是class和interface,是必须用new的!
反正你就记住,一切可以new的,都可以看作为对象,并且都可以被Object接收!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询