Java笔记

1.配置临时变量
set命令。直接输入set,可以查看所有当前的环境变量;“set 变量名”获得指定变量名的环境变量;动态获取已有的环境变量 值“%环境变量
名%”
2.在类名前加了public,则类名要和.java文件名一样。
比如:类名为public class demo{},怎对应的.java文件名要为demo.java。
3.javac 文件名.java 将java源文件编译为.class的文件。.class文件的文件名是和类名一样的。
4.虚拟机 先找的是自定义环境变量(区别于系统的path变量),然后再硬盘下。
5.在配置自定义环境变量时,不要加分号。
6.将一个数左移,如:3<<2=3*2^2;即a<<n=a*2^n
7.将一个数右移,如:6>>1=6/2^1;即a>>n=a/2^n
8.>>:右移最高位补0还是补1,和原本的最高位一致
9.>>>:无论最高位是什么,右移后,都用0补
10.一个数的二进制的负数形式是将这个数取反(~)然后加1
11.二进制转为十六进制是将二进制分每4位一组,转为十六进制
12.for前面能加上标记,在break的时候,可以跳出指定for
比如: a:for() { b:for(){break a;} }这边跳出的a(但是a都跳出了,,b肯定也跳出了)
13.new 出来的对象 的内存是在堆中。例如:int[] a=new int[3]; 栈中一个变量a指向了堆中一块内存为3 的空间。
栈的内存自动释放,堆的内存垃圾回收机制
14.this构造函数必须放在别的构造函数的第一行。构造函数之间可以相互调用,但是不能循环调用,否则出现死循环。
15.static成员能被类名和对象调用
16.java程序说明书的制作,类必须是public公有的,私有的方法不会被编入说明书中
在类的最前面:
/**
该类的说明
@author 张三
@version V1.1
方法说明:
/**
该方法的说明
@param 参数名1参数描述之类的
@param 参数名2参数描述之类的
@return 返回值描述
*/
字段属性 一样。
编辑完成之后,使用javadoc来生成说明文档。命令:javadoc -d 存放的目录 源文件名
17.构造代码块,是在实例化一个对象的时候调用
静态代码块,是在类加载的时候调用
执行顺序:静态代码块->静态属性建立并初始化->有默认值得属性初始化->构造代码块->构造函数
18.super指向父类对象
19.重写,子类的访问权限必须不小于父类,且方法一模一样,返回值不一样的方法是不允许出现的
20.子类要调用父类指定的构造函数,需要显示指定“super(参数...)”,且只能在第一行。
21.final修饰类,则这个类不能被继承,如果是方法,则子类不能重写 改方法。
22.被final修饰的变量,只能初始化一次。
23.抽象方法必须定义在抽象类中,子类必须实现 父类的所有抽象方法。抽象类就是强制子类要实现方法。
24.抽象类中也可以有实例方法。抽象类不能实例化。

25.抽象类不能被实例化,但不代表它不可以有构造函数,抽象类可以有构造函数,备继承类扩充。抽象方法不能有函数体。

26.接口中的属性只能是静态的static,但是可以不写,编译器会自动加上(final关键字也一样)。因为interface中的成员都有特定的修饰符。

27.实现接口的关键字implements。接口之间不能有同名同参数不同返回类型的方法。

28.判断对象是否是某种类型用instanceof关键字,类似于C#的is。 “对象A instanceof 类B”,对象A是否是类B的对象。如果某对象是继承而来的,比如继承于C类(或者C是接口),则对象A instanceof C则会为true,

 

你可能感兴趣的:(java)