java 入门(随记)

java 执行过程中的内存管理:

  code segment : 存放代码
  data segment : 存放静态变量、字符串常量
  stack (栈): 存放局部变量
  heap (堆): 存放new 出来的东西
 
基础类型变量占一块内存(栈内),引用类型占两块内存,即堆&栈各一部分(heap&stack)

面向对象的设计思想:

  分三点:
  1)在这个问题中有哪些类,那些对象
  2)这些类、对象每一个应该具有什么属性、方法
  3)类与类之间具有什么关系(关系分为关联、继承、聚合(聚集,组合)、实现、多态)

关于申明变量的作用范围:

  申明变量在大括号内的变量只能在他所在的大括号内有效,出了大括号没人“认识”。

在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异常。

 

posted @ 2017-03-03 16:51  壹颗赛艇  阅读(103)  评论(0编辑  收藏  举报