谁能给我解释一下java中的类类型。就是把类作为一个数据类型。。。急。。
3个回答
展开全部
简单说: 类是一个抽象模版,根据此模型可创建多个具体对象;
定义一类即相当于定义了一种新的引用数据类型,
java中数据类型分两类: 基本类型,引用类型
eg:
Int i=10; //i为基本类型;
String str="abc"; //String是引用数据类型; Java内部已定义了
class String2{..} //String2是我们自定义的引用数据类型;
当String2 str2=new String2() 时; str2所属的数据类型就是String2;
就如同我们常说的 数组是一个对象;
int [] a=new int[..]; //定义一个数组对象a, 它的类型是数组类型
定义一类即相当于定义了一种新的引用数据类型,
java中数据类型分两类: 基本类型,引用类型
eg:
Int i=10; //i为基本类型;
String str="abc"; //String是引用数据类型; Java内部已定义了
class String2{..} //String2是我们自定义的引用数据类型;
当String2 str2=new String2() 时; str2所属的数据类型就是String2;
就如同我们常说的 数组是一个对象;
int [] a=new int[..]; //定义一个数组对象a, 它的类型是数组类型
追问
那转型向上转型和向下转型。。。是什么意思。。。实在是搞不懂。。 老师讲的时候说只是说什么 。。。主人需要宠物就给他一直狗或猫什么的。。。Pet pet=new Dog("","");讲的有点 抽象。。听不懂。。主要是我转不过来弯
追答
向上转型: 即父类对象指向子类引用。(将子类对象的引用赋值给父类)
eg: Pet pet=new Dog("",""); //pet是Pet类型,但指向的是一个Dog对象;
向下转型: 即还原子类真实类型;
eg: Pet pet=new Dog("."); //向上
Dog dog=(Dog)pet //向下转型,还原子类的真实类型。pet变成Dog型了
如:
需要宠物,你可以给狗或猫...,因为狗猫都是宠物中的一种;
所以pet 能包容dog,cat。 //pet=new Dog(); pet=new Cat();
但如果需要猫,你就只能给我宠物猫,而不能是狗或者其它宠物。
所以有cat只能new Cat(); //Cat cat=new Dog()、 Cat cat=new Pet();这都是不行的
其实只需理解继承、多态的特征就可以理解,以后接触多了,你就会自然而然的理解
要是有时间,建议你理解下继承下的Static方法、内部类等。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询