java错题整理

自己在做java的题的时候,遇到的错题,本人菜鸟一枚,错题惨不忍睹,大牛勿喷

 

s1指向方法区String s1 = "ab";  直接定义赋值 指向了方法区

new新对象是指向堆内存  堆内存在指向方法区

 

 

getBytes()

compareTo 比较字符串大小

str.concat(str2) 将str2 拼接在str后面   返回新的字符串

contain() 判断是否含有指定字符串

toUpperCase()转换为大写

扫描二维码关注公众号,回复: 3369588 查看本文章

toLowerCase()转换为小写

endwith

startwith

 

byte[] bs = str.getBytes();

String s=new String(bs);//将字符数组转换为字符串

indexOf()

String.valueOf表示将参数转化为字符串

 

 

 

----object----

clone()克隆  所在的类需要实现解控coneable

equals 默认是==的比较,在底层对对象的地址进行了比较

 

 

面向对象部分:

程序的对象是一种数据信息,并非现实中的时间物体,在现实生活中,对象是指客观时间的实体

在程序中,对象是通过一种抽象数据类型来描述的,这种抽象数据类型称为类(class)

在程序中,对象是一组变量和相关方法的集合

接口中不可以有private  final方法,接口,默认的方法是public sbatract,可以实现function

 

 

(单选题)已知类 Teacher 和 Student 都是类 Person 的子类,则对于下列代码说法正确的是Person t = new Teacher();

if (t instanceof Teacher){

Student s = (Student)t;

}

编译正确,且运行时出错
解析:

instanceof Java 的一个二元操作符,它的作用是测试它左边的对象是否是它右边的类的实例,返回 boolean 类型的数据。Teahcer 和 Student 之间没有继承关系不能做强制类型转换。

 

接口中只能包含抽象方法和常量

一个类可以实现多个接口

类实现接口时必须实现其中的方法

接口只能被类实现,类不能继承接口,遵循单继承多实现原理

 

接口是一种只含有抽象方法或常量的一种特殊的抽象类,因为接口不包括任何实现,所以与存储空间没有任何关系

 

抽象类和最终类不能并列修饰同一个类

抽象类中可以有私有的成员

抽象类方法可以防止抽象类或者接口中

静态方法中不能引用其外部的非静态成员

 

栈 限定在表尾进行插入或删除操作的线性表,所以是存取受限的线性结构

方法重写返回值类型如果是基本类型  应该与父类的一致

 

类中不能使用this关键字

在类方法中可以调用其他类的类方法

在类方法中调用本类的类方法时可以调用

在类方法中可以通过实例化对象调用实例方法

 

Abstract可以修饰方法和类,不能修饰属性。抽象方法没有方法体,即没有大括号 ,抽象方法可以没有大括号{}

 

本类中实例方法可以直接通过方法名调用本类中其他实例方法

本类中实例方法不可以调用其他类中所有实例方法,不可以调用其他类中类方法,不可以直接通过方法名调用其他类的实例方法

 

 

(选题)下列说法正确的有(D )

class 中的 constructor 不可省略 X

constructor 必须与 class 同名,但方法不能与 class 同名

constructor 在一个对象被 new 时执行

一个 class 只能定义一个 constructor

构造方法的作用是在实例化对象的时候给属性成员进行初始化。 A.类中如 果没有显示的给出构造方法,系统会提供一个无参构造方法。 B.构造方法 与类同名,类中可以有和类名相同的方法。 D.构造方法可以重载。

 

JDK1.8之前接口只能定义常量和抽象方法

 

 

将父类引用赋值给子类变量需要强制类型转换

接口不包括任何实现,与存储空间没有任何关系

接口是一种只含有抽象方法或常量的一种特殊的抽象类,因为接口 不包括任何实现,所以与存储空间没有任何关系

 

接口只能被类实现,类不能继承接口,遵循单继承多实现原则

接口中只能包含抽象方法和常量

一个雷可以实现多个接口

类实现接口时必须实现其中的方法

 

属性的可见性有四种:公有的(public)、保护的(protected)、默认的(default)、私有的(private)

 

抽象方法不可以是静态的,不可以有方法体,不可以在普通类中定义,可以在接口和抽象类中定义

 

在类方法中不可以使用this关键字 

在类方法中可以调用其他类中的类方法、

在类方法中可以通过实例化对象调用实例方法

 

 

 

java中对象的命名不能是全数字

接口中的属性都是常量,默认由public static final同时修饰,

 

 

类中的普通属性是类的实例变量

 

局部变量在使用前必须被初始化

 

 

隐式类型转换是由按优先关系从低到高的顺序

隐式类型的转换规则是 byte->sghort(char)->int->long->float->double

 

 

使用“||”运算, 两者只要有其一为真,逻辑表达式结果就为真

使用"!"运算,对关系表达式进行取反

短路与:若第一个表达式的值为假,后面的表达式不再计算

短路或:若第一个表达式的值为假,还要看后面的表达式的真假

 

 

 

 

Char是一个无符号的16位类型,取值范围是0到65535

 

Byte类型占8位

Short类型的占16位

Int类型的32位

Long类型的64位

 

 

Java支持跨平台,没有指针,拥有GC垃圾回收机制

Javase  Javame  Javaee  Javacard  都是java的技术体系

 

(单选题)存储一个24X24点阵的汉字(每个点1bit),需要多少字节( 72个)

24*24/8=72。意思是:24*24的结果是二进制位,而八个二进制位等于 一个字节,所以再除以八是所得的字节数。79  80

 

Private类  只能自己访问或调用,是对成员变量的高级保护  不能被其他类访问

 

可以利用javac Text.java编译此段代码

可以利用javac -d . Text.java来编译此段代码

 

 

封装继承可以提高代码的复用性 多态可以实行解耦  封装可以统一代码结构

class Super {

private int a; // 第二行



protected Super(int a) {

this.a = a;

}

}

public class Sub extends Super {

public Sub(int a) {

super(a);

}

public Sub() {

//this.a=5;此处错误

/*两种写法

this(5);

super(5);// 第7行

*/

}

}

猜你喜欢

转载自blog.csdn.net/g5703129/article/details/82503342
今日推荐