尼采般地抒情

尼采般地抒情

尼采般地抒情

音乐盒

站点信息

文章总数目: 315
已运行时间: 1554

一、面向对象思考


思想

就像是手工设计动态数组、链表等数据结构一样,要用设计这个字眼去面向对象思考。

同时还要关注类与类之间的关系有关联、聚集、组合,在设计多个类的过程中要有这些意识

就像是之前的数据结构课程一样,像那样就是面向过程,全都是写函数来实现操作

基本数据类型值及其包装类

都存在java.lang里面

Integer、Long、Float、Double、Boolean、Character、Short、Byte

基本数据类型和其对象化之后的包装类类型之间的自动转换

Integer intObject = new Integer (2);  等价于 Integer intObject = 2;

BigInteger 类和BigDeciml类用于表示任意大小和精度的整数或是二进制数

二、对象和类


OOP阶梯图


“OOP阶梯图”—— 类的多个特性,同时以对象对基础


类的组成

数据域、构造函数、方法(C++里面的说法是数据成员和成员函数)

类中不能存在可执行语句

构造函数

  • 和类同名、重载、没有返回值

  • 构造函数初始化优先级
  1. 静态成员变量初始化顺序高于非静态成员变量
  2. 成员变量的初始化顺序优于构造函数
  3. 静态成员变量只初始化一次,就是第一次被访问的时候
  4. 存在多个静态成员变量的时候,按照次序依次执行



Window(2)
Window(1)
Window(2)
Window(3)
House()
Window(33)
f()

数据域的默认值


对于对象而言,不赋值也会有默认的。之前的数组就是如此


各个数据域按照之前的基本上的默认初值,如果是其他的类型,则空

对象的创建和访问

  1. 通过引用变量来访问对象,创建的类的对象被内存分配了内存空间,可以用引用变量来访问
  2. 对象类型都需要用new来新建
ClassName objectRefVar = new ClassName();

Circle myCircle = new Circle();


使用成员变量和成员函数

mycircle.radius
mycircle.getArea()


调用静态函数,动态函数需要在自己类下面调用自己的函数

“炸宿舍”

关于老师提出来的炸宿舍例子


对象间的赋值和基本类型的赋值,能改变的一定是基本数值类型,所谓的数组名抑或是对象名,都只是地址映射


垃圾回收机制和this

System.gc(); // 提醒垃圾回收

静态变量、常量和方法

静态成员变量:静态成员变量可以被类的所有实例共享(比如计数变量用到)

静态方法:不能访问类的实例成员

关于静态变量、静态方法、实例变量、实例方法

可见性修饰符



“析构函数”


protected void finalize() throwsable {
    super.finalize();
    System.out.println("Person - finalize");
}


内部类


内部类只给该类使用(私有自己用,同时写静态的),就如LinkedList类的设计

评论区