构造函数PRIVATE 则该类永远不可创建对象。
1,DOS环境下
清空环境变量: set path=
设置.exe可执行文件的路径 set path,现寻找当前目录,再寻找PATH。
设置.java执行文件路径 “set classpath= ;”,先寻找CLASSPATH,再寻找当前目录;
“set classpath= ”,只寻找CLASSPATH。优先使用这个。
设置.java多文件路径“set classpath= .;B;C ” ,注:"."表示当前目录。
编译和运行都在同一目录下执行,可以不用配置CLASSPATH,使用包时需要。
2,逻辑运算符用于连接BOOLEAN类型的表达式
&与 |或 ^异或 &&(短路) ||(短路)
3,进制转化
转8进制——三个二进制位代表一位
转16进制——四个二进制位代表一位
负数的二进制表示形式——正数的二进制取反再加一
4,注意FOR和WHILE循环中的循环变量的作用域。
(优化内存)若循环变量仅仅用于控制循环次数 作为循环增量存在时 使用FOR更合适、
5,匿名对象 同 有名对象 区别
匿名对象:
调用属性 没有意义 执行完则成为垃圾 (先在堆中创建对象 再对属性赋值 最后成为垃圾)
使用方式一:当对对象的方法只调用一次时 可用匿名对象来完成 会比较简化。
但若对一个对象进行多个成员调用 必须取个名字。
使用方式二:可以将匿名对象作为实际参数进行传递
6.THIS(在同一类中可以被省略)
看上去 用于区分局部变量和成员变量同名情况
代表本类对象
代表所在函数所属对象的引用。简单说 哪个对象调用this所在函数 this就代表哪个对象。
应用:
当定义类中功能时,该函数内部要使用到调用该函数的对象时,这时用this代表该对象。
但凡本类功能内部使用了本类对象,都用This表示。
7,static 用于修饰成员(变量和成员函数)——不会处于堆内存当中。
存放位置:
类变量随着类的建立而存在于共享区(方法区);
实例变量随着对象的建立而存在于对内存。
使用注意事项:
1,静态方法只能访问静态成员,;
2,因为静态优先于对象存在,所以静态方法中不可以定义this super等关键字。
静态有利有弊:
利:对对象的共享数据进行单独空间的存储,节省空间。可以直接被类名调用。
弊:生命周期过长。访问出现局限性(静态虽好,只能访问静态)。
何时使用静态:
定义静态变量——当对象中出现共享数据时(注意区分共享属性) 对象中的特有数据要定义成非静态存在于堆内存。
定义静态函数——当功能内部没有访问到非静态数据(对象的特有数据)时。
应用——工具类:
每一个应用程序中都有共性的功能,可以将这些功能进行抽取,独立封装,以便复用。
为了不让别人创建对象来使用该工具类 将构造函数私有化。
不需要给别人看的功能 统统私有化。
代码块执行顺序——静态代码块,构造代码块,构造函数。
静态代码块——特点:随着类的加载而加载,只执行一次,并优先于主函数。注:也只能访问静态成员。
用于给类初始化。(在类进入内存 不要对象的情况下 需要做的事情)
注意:第一次创建类对象时 类会被加载进内存 但之后继续创建该类对象时 类已经存在于内存 不会被再次加载。
另外 你不写对象 调用A.show() 同样得先加载类A。
A a=null;不加载 a=new A();和A.show()都会加载类
即 只要用到了类中的内容 就会加载类。
class A
{
static
{ System.out.println();}
static void show(){}
}
构造代码块——给对象初始化
{
System.out.println();
}
构造函数——给对应对象初始化