java学习笔记
操作
f:跳转盘符 printf("%#X",m) ,可以将m转换成十六进制输出 |
数据类型
基本数据类型:是进行内容的操作,而不是内存的操作; |
计算
&&短路与 与 & 的区别(||短路或 与 或 | 同理) |
break continue
break 执行到break直接跳出循环 |
switch
switch(只能装int型)//也可以装可以自动转换成int的类型,如char,short |
一些关系
继承关系:xx是一种xx,两者则是继承关系,前者由后者继承 |
类规则
必须定义类,才能有对象;先定义方法,才能调用; |
命名规则
业界约定俗成的规矩:类名称每个单词首字母必须大写 |
访问控制符
private 私有的,如private int a(位于classA) |
构造函数
构造函数在生成一个对象时,自动调用,构造函数不能写任何返回值 |
函数的重载
函数通过不同的形参做类似的事情,叫做函数的重载: |
boolean类型用%b来输出
this指针:
this指向当前正在调用该方法(函数)的对象 |
静态static:
static将变量放进了数据区,多个对象共用一个static属性,即数据会共用 |
继承extends:
一个新类从已有的类那里获得其已有的属性和方法 |
super
通过super访问父类的构造方法,例:super(i,j) |
重写父类的方法注意事项
重写父类的方法时,子类访问控制符的权限必须>=父类的权限 |
多态:
一个父类的引用类型变量既可以指向父类对象也可以指向子类对象,它可以根据当前时刻指向的不同,自动调用不同对象的方法,这就是多态 |
抽象类:
abstract public void f();没有方法体的方法叫做抽象方法,要以abstract开头,以 ; 结尾 |
final
final可以修饰整个类,也可以修饰类中的成员 |
interface接口
接口就是抽象方法与常量值的结合,从本质上讲,接口是一种特殊的抽象类 |
打包package:
package语句必须是第一条语句,例:package zhangsan.lisi |
import
导入另一个包,便可以不用包全名,否则要写zhangsan.lisi.A aa = new zhangsan.lisi.A(); |
归档工具jar(打包命令):
jar cvf T.jar * * 代表打包所有文件 |
异常处理
try { |
java.lang
放在java.lang包里的类不需要导入,其他都要 |
try/catch 与 throws
如果void f() throws A {} 那么强烈建议在调用f时对A异常进行处理 |
catch:
先catch子类异常再catch父类异常 |
Object类
每个类都默认继承了Object类,toString()返回该对象的字符串表示 |
equals
aa1.equals(aa2)如果aa1与aa2指向的是同一块内存对象就返回true, |
String st1 = new String("china"); new出来的放在堆中 |
String类常用方法
|
String类的对象有一旦创建就不可更改,如果需要经常修改建议使用StringBuffer |
数组
int[] arr1 = new int[] {0,1,2}; 新建一维数组 |
线程Thread
aa.start() 启动一个线程,并自动调用aa中的run方法,aa需要继承extends Thread |
Event
事件,Event; Event source; Event Handler; Event Listener |
@Override
@Override 加了这个在函数上一行,表示在重写父类方法,如果写错了方法名会报错,如果不加的话,写错了函数名就不会报错,而是新写一个方法 |
str = int + “”;将int转字符串
内部类与匿名类
内部类:内部类中的方法可以直接访问外部类中的所有成员 |
生成可执行jar文件:
在文件夹下新建一个1.txt文件 |
流
java中路径中的\用\\或/来代替,例如D:\\java\\**** |
对象序列化
ObjectOutputStream ObjectInputStream |
重写hashCode()与equals()
例:F:\java\TestHash.java |
lterator接口
泛型
网络编程(Socket编程)
|
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 木风可可!