JAVA的一些事

本文详细阐述了Java学习过程中的关键点,包括数组初始化、基本数据类型表示方式、访问权限控制、继承与接口实现、线程操作、字符串缓冲区、文件操作、变量转换规则、线程安全类使用、数组清零方法、循环优化策略、以及核心编程概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

有c/c++基础的猿猿,学习java时的一些要点。


1,定义数组类型的时候,当数据元素为对象时,数据的元素先要初始化,才能使用。

比如

CM a[]=new CM[10];
a[0]=new CM();
a[0].set(100);
System.out.println(a[0].num);

 2,

byte、int、long、和short都可以用十进制、16进制以及8进制的方式来表示。

当使用常量的时候,前缀0表示8进制,而前缀0x代表16进制

3,父类中声明为protected的方法在子类中要么声明为protected,要么声明为public。不能声明为private;

4,父类中声明为private的方法,final修饰的类不能够被继承;

5,extends是简单的继承,方法可在父类中实现也可在子类中实现,implements,父类做了一个接口,子类实现相应的方法接口。

6,StringBuffer与StringBuffer赋值时,只是指针的赋值;

7,当调用 Thread.sleep(),时最好在前后加上try-catch,比如:

try{

Thread.sleep(1000*3);
}catch (Exception e)
{
return ;
}

8,final修饰的函数表示该函数不能被子类的函数覆盖,但可以被继承。

9,Calendar的日期是从0开始算起的;

10,文件操作,RandomAccessFile类;

11,重写:

(1)声明为final的方法不能被重写。

(2)声明为static的方法不能被重写,但是能够被再次声明。

(3)子类和父类在同一个包中,那么子类可以重写父类所有方法,除了声明为private和final的方法。

12,程序中带有包名,编译应该使用

javac -d xxxx.java

运行

java 包名.xxxx(java 路径.xxxx)

13,FileWriter只有一个参数的构造函数,缺省会将原来的文件清空

FileWriter fw = new FileWriter(file);

14,数组清零,

Arrays.fill(strSaveTotal,(byte) 0);

15,编写线程时,while如果一直为true,则while最好加Thread.sleep().不然cpu的占用率会很高。


变量转换,转换从低级到高级。

  ------------------------------------>  

byte,short,char—> int —> long—> float —> double

16.由于 StringBuilder 相较于 StringBuffer 有速度优势,所以多数情况下建议使用 StringBuilder 类。然而在应用程序要求线程安全的情况下,则必须使用 StringBuffer 类。

17StringBuffer内部数组的长度和字符串长度是不相同的,默认长度为16,append的字符长度未超出16,直接添加,字符长度超过了16则调用扩展方法,将大小扩充到上一次的原来两倍,操作为:(16+1)*2=34








评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值