牛客刷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
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· spring官宣接入deepseek,真的太香了~