今天还是先写了这个吧。。免得弄得很晚。况且今天不算有课后作业,权当来好好复习下
static修饰的方法属性等,加载时机都在对象之前,不依附对象,所以静态方法不能直接访问成员变量或成员方法。反正就是它这个东西先行,肯定不能使用“未知”的东西
它和成员变量的区别:它是共享唯一的,一改影响所有;成员变量属性每个对象,每个对象有其各自属性
成员变量必须依赖于对象,随对象产生/销毁而产生或销毁;而静态变量在类加载时酒会产生,一直常驻内存
访问成员变量是通过对象.成员变量访问;
访问静态变量是通过对象.静态变量或类名.静态变量访问。所以也叫类变量。访问时,无需产生对象
关于传递
public static void main(String[] args){ Person p =new Person(); p.code="1"; p.age=20; p.name="Tom"; Person p1=p; p1.age=50; System.out.print(p.age+"\t"+p1.age); }
得出俩个都是50
若一个new person没有指针指向后,会被垃圾回收,即没有了
//如果一个引用类型为null,表示该变量没有指向任何一个对象
p=null;//一旦对null调用方法或属性,就会空指针异常
这就是昨晚让我纠结异常的东西。。。老师竟然今天才讲。。光编译器给出的东西自己看很多不懂的话果然不靠谱啊
(java.lang.Null.pointer.Exception)反正就是数据为空,里面的具体属性肯定没有,就是空指针了呗
我靠边写这个边看黑马,瞄到了交换俩数竟然还有俩种方法:
a=a+b;//若大数,可能损失精度
b=a-b;
a=a-b;
另外种://我只能说额,先记住吧
a=a^b;
b=a^b;
a=a^b;
继续:
Person[] ps=new Person[10]; //其一,定义新对象,用P指向 Person p=new Person(); p.age=3; ps[0]=p; //法B,把ps[1]定义个新对象,才可以赋值 ps[1]=new Person(); ps[1].age=30
下面是各个东西的关系:
变量按作用域划分:
1、局部变量:方法和语句块内部定义的变量(栈空间,当方法或语句块一结束,局部变量空间马上释放)
2、成员变量(属性):方法外部,类的内部定义的变量(堆空间,随着对象产生而产生,随之销毁而销毁)
3、类变量(静态变量):加上了关键字“static”(数据段,常驻内存,创建好之后,不会消失)
对象的回收:把引用类型变量赋值为null即可
包:可理解为文件夹,可以组织相关类,可做到信息的隐藏(无public的)
有两种类无需导入即可使用:本包中的类和java.lang.*中的
最后是个读取文件的代码:
public static void main (String[] args){ //(读取文件)常见资源文件夹 Properties pro = new Properties(); try{//将文件中的键值对,读取到pro对象中 pro.load(new FileReader("src/info.txt")) }catch(Exception e){ System.out.printlb("文件不存在"); } }
应用之一是。。汉化包么~~
今天接到毕业论文老师的电话,我又打算今晚就把它给完善咯~~~加油!!!