java中编译时类型是什么,关于JAVA多态的编译时类型与执行时类型的一个问题.
大家好,关于java中编译时类型是什么很多朋友都还不太明白,今天小编就来为大家分享关于关于JAVA多态的编译时类型与执行时类型的一个问题.的知识,希望对各位有所帮助!
关于JAVA多态的编译时类型与执行时类型的一个问题.
sub.var是父类的属性,你在子类中没有重新实例化一个这个var对象,所以在运行时指向的就是父类中的属性,sub.method();你在子类中重写了,在运行时,他就不会去找父类避免方法与类的不一致,多态的运用记住一点,父类定义了得方法,和变量,子类如果不取重写或重新定义,那么你在实例化子类的时候,就回指向父类,(和那个富二代一样,只知道问他老子要钱)。如有不懂可以多去看看基础一点的书籍,
java的基本数据类型有哪些
java的基本数据类型有:
1、布尔型(boolean)
取值范围:True或 False
2、字节型(byte)
取值范围:0- 255
3、短整型(short)
取值范围:-32,768~ 32767
4、整型(int)
取值范围:-2,147,483,648~ 2,147,483,647
5、长整型(long)
取值范围:-9223372036854775808~9223372036854775807
6、单精度浮点型(float)
负数范围:
-3.402823E38~-1.401298E-45
正数范围:
1.401298E-45~ 3.402823E38
7、双精度浮点型(double)
负数范围:
-1.797,693,134,862,32E308~
-4.940,656,458,412,47E-324
正数范围:
4.940,656,458,412,47E-324~
1.797,693,134,862,32E308
8、字符型(char)
取值范围:'\u0000'~'\ufff'
扩展资料
任何数据类型的数组都需要 20个字节的内存空间,加上每一数组维数占 4个字节,再加上数据本身所占用的空间。数据所占用的内存空间可以用数据元数目乘上每个元素的大小加以计算。
例如,以 4个 2字节之 Integer数据元所组成的一维数组中的数据,占 8个字节。这 8个字节加上额外的 24个字节,使得这个数组所需总内存空间为 32个字节。
参考资料:百度百科——数据类型
java编译时类型和运行时类型该如何理解
编译期只会检查实例声明的类型和强制转化的类型是否存在extend/implement关系,因为从声明变量类型,到强制转化变量的类型之间可能存在编译期无法解析的代码,虽然示例中只是一个简单的赋值,肉眼就可以判断实际类型,但是对于编译器来说是无法判断的,举个简单的例子:
public static void foo(boolean flag){
Useful xx= flag? new Useful(): new MoreUseful();
((MoreUseful)xx).g();//编译器如何判断此处是否有错误?
// flag=false的时候可以正常运行,就不能说这里有编译期错误}public static void main(String[] args){
foo(true);
foo(false);
}
Java中怎么知道一个变量的类型
复制下面代码:
class Test{
public static void main(String[] args){
int i=1;//int类型变量
System.out.println(getType(i));//打印变量类型为int
}
public static String getType(Object o){//获取变量类型方法
return o.getClass().toString();//使用int类型的getClass()方法
}
}
扩展资料:
java8种基本数据类型(4种整型+2种浮点型+1种字符型+1种逻辑型)
4种整型:
byte-1字节:-128~127;
short-2字节:-32768~32767;
int-4字节:-2^31~2^31-1;
long-8字节:-2^63~2^63-11234。
2种浮点型
float-4字节-32位IEEE 754单精度(有效位数6~7位);
double-8字节-64位IEEE 754双精度(有效位数15位)。
1种字符型
char-2字节-整个Unicode字符集。
1种逻辑型
boolean-1字节-true或者false。
关于java中编译时类型是什么到此分享完毕,希望能帮助到您。