自己在做java的题的时候,遇到的错题,本人菜鸟一枚,错题惨不忍睹,大牛勿喷
s1指向方法区String s1 = "ab"; 直接定义赋值 指向了方法区
new新对象是指向堆内存 堆内存在指向方法区
getBytes()
compareTo 比较字符串大小
str.concat(str2) 将str2 拼接在str后面 返回新的字符串
contain() 判断是否含有指定字符串
toUpperCase()转换为大写
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行
*/
}
}