牛客刷Java记录第6天

第一题
一个文件中的字符要写到另一个文件中,首先需要( )。

A System.out.print (buffer[i]);
B FileOutputStream fout = new FileOutputStream(this.filename);
C FileInputStream fin = new FileInputStream(this.filename);
D System.in.read(buffer);

关键词:首先
文件A -> 内存 -> 文件B
先读后写,先读到内存后写入文件,先in后out

答案:C

第二题
static前加了private,那么就不可以用类名.变量名了,只能使用公共的get方法

典型案例:

package static_;
public class StaticA {
public static void main(String[] args) {
TestStaticA t1 = new TestStaticA();
t1.setAge(1);
TestStaticA t2 = new TestStaticA();
t2.setAge(2);
/**
* 测试用对象名直接调用静态方法:
* 下面代码运行结果是什么?
*/
// t1.m(t2);
// t1.m1();
// t2.m1();
/**
* 测试用对象名直接调用静态属性:
* 下面代码运行结果是什么?
*/
// System.out.println(t1.age);
// System.out.println(t1.a);
// System.out.println(t1.name);
/**
* 测试用类名直接调用静态方法:
* 下面代码运行结果是什么?
*/
// TestStaticA.m1();
// TestStaticA.testPrivateMethod();
// TestStaticA.m(t1,t2);
/**
* 测试用类名直接调用静态属性:
* 下面代码运行结果是什么?
*/
// System.out.println(TestStaticA.age);
// System.out.println(TestStaticA.a);
// System.out.println(TestStaticA.name);
}
}
class TestStaticA {
static String name;
private int age;
private static int a;
public static void m(TestStaticA t1, TestStaticA t2) {
if (t1.getAge() == t2.getAge())
System.out.println("年龄相同");
else System.out.println("年龄不同");
}
// 这样不可以。反正static就是不可以出现super,this
// public static void m(TestStaticA t2){
// if (this.getAge() == t2.getAge())
// System.out.println("年龄相同");
// else System.out.println("年龄不同");
// }
public static void m1() {
System.out.println("hello");
}
private static void testPrivateMethod() {
System.out.println("我是testPrivateMethod()");
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}

第三题,单选题
可以把任何一种数据类型的变量赋给Object类型的变量。

A 对
B 错

解析:由debug可以看到,执行到赋值语句时,编译器在底层已经将基本数据类型自动装箱了。
以byte为例,源码:

public static Byte valueOf(byte b) {
final int offset = 128;
return ByteCache.cache[(int)b + offset];
}

完整代码案例:

package common_class.object_class;
public class TestObj {
public static void main(String[] args) {
byte n1 = 0;
short n2 = 0;
int n3 = 0;
long n4 = 0L;
float n5 = 0.0f;
double n6 = 0.0d;
char n7 = '\u0000';
boolean n8 = false;
String n9 = "";
Object o1 = n1;
Object o2 = n2;
Object o3 = n3;
Object o4 = n4;
Object o5 = n5;
Object o6 = n6;
Object o7 = n7;
Object o8 = n8;
Object o9 = n9;
System.out.println(o1.getClass());
System.out.println(o2.getClass());
System.out.println(o3.getClass());
System.out.println(o4.getClass());
System.out.println(o5.getClass());
System.out.println(o6.getClass());
System.out.println(o7.getClass());
System.out.println(o8.getClass());
System.out.println(o9.getClass());
}
}

运行结果:

class java.lang.Byte
class java.lang.Short
class java.lang.Integer
class java.lang.Long
class java.lang.Float
class java.lang.Double
class java.lang.Character
class java.lang.Boolean
class java.lang.String

答案:A

posted @   yx1024  阅读(10)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· spring官宣接入deepseek,真的太香了~
点击右上角即可分享
微信分享提示