java 执行过程中的内存管理:
面向对象的设计思想:
关于申明变量的作用范围:
在java中对象赋值时的出现的错误:
赋值语句的标准格式都是:
var=expr
也就是把表达式(expr)的值赋给var(变量)
class Point {
double x;
double y;
double z;
Point(double _x,double _y,double _z){
x=_x; // _x = x 不能将_x值赋于x;
y=_y;
z=_z;
}
}
访问控制
Java权限修饰符置于类的成员定义前,用来限定其对象对该类的成员的访问权限。
修饰符 | 类内部 | 同一个包内 | 子类 | anywhere |
private | Yes | |||
default | Yes | Yes | ||
protected | Yes | Yes | Yes | |
public | Yes | Yes | Yes | Yes |
继承中的构造方法
子类的构造过程中必须调用基类的构造方法。
子类可以在自己的构造方法中使用super(argument_list)调用基类的构造方法。
使用this(argument_list)调用基类的构造方法;
如果调用super,必须写在子类构造方法的第一行;
如果子类的构造方法中没有显示地调用基类的构造方法,则系统默认调用基类无参数的构造方法。
如果子类构造方法中既没有显示调用基类构造方法,而基类中有没有无参的构造方法,则编译出错。
多态的存在的三个必要条件
要有继承;
要有重写;
基类(父类)引用指向子类对象。
只要上述三个条件满足时,当你调基类(父类)里被重写的方法时,实际你new哪个子类对象就调用子类那个方法。
关于关闭IO流
一般情况下是:先打开的后关闭,后打开的先关闭
另一种情况:看依赖关系,如果流a依赖流b,应该先关闭流a,再关闭流b
例如处理流a依赖节点流b,应该先关闭处理流a,再关闭节点流b
当然完全可以只关闭处理流,不用关闭节点流。处理流关闭的时候,会调用其处理的节点流的关闭方法
如果将节点流关闭以后再关闭处理流,会抛出IO异常。