------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------
第5天
61到73集
62-63 |
面向对象 |
69-70 |
构造函数(块) |
64 |
类和对象 |
37-39,41 |
For嵌套及练习 |
65 |
成员变量与局部变量 |
40 |
break-continue语句 |
66 |
匿名对象 |
43-46 |
函数(重载)应用 |
67-68 |
封装 |
|
|
65成员变量作用于整个类,局部变量作用于函数中,或者语句中。成员变量在堆内存中,因为对象的存在,才在内存中存在。局部变量存在于栈内存中。
66 匿名对象:当对象方法值只调用一次时,用之比较简化。如果对一个对象的多个成员进行调用,必须给这个对象起个名字。可以将匿名对象作为实际参数进行传递。Show(new Car())
68 私有对象通过实例提供对外获取get、设置set接口,。之所以对外提供访问方式,就是因为可以在访问方式中加入逻辑判断等语句。对访问的数据进行操作。提高代码健壮性。
69 对象一建立就会调用与之对应的构造函数。构造函数可以用于给对象进行初始化。系统会默认给类加入空参数的默认函数**(){}。构造函数是对象一建立就运行,且只运行一次。
70 构造代码块给对象进行初始化,优先于构造函数执行,是给所有对象进行统一初始化
71 this关键字。主函数和构造函数同名时用this,那个函数调用this函数,它就代表那个函数。
72 当定义类中功能时,该函数内部要用到调用函数的对象时,这时用this来表示对象。但凡本类功能内部使用了本类对象,用this表示。
73 构造函数之间调用,必须第一行this(**).
第6天
74到88集 74 静态成员可以直接被类名调用;优先于对象存在;被所有对象所共享;随着类的加载而加载。
类变量随着类的加载而存在于方法区中。实例变量随着对象的建立而存在于堆内存中。
类变量生命周期最长,随着类的消失而消失。实例变量生命周期随着对象的消失而消失。
静态方法只能访问静态方法和变量。非静态方法既可以访问静态和非静态。静态方法中不可以定义this,super关键字。
静态利:对象的共享数据进行单独空间的存储,节省空间。没有必要每个对象中都存一份。
弊端:生命周期过长。
76 当功能内部没有访问到非静态数据(对象的特有数据),那么该功能可以定义成静态。
77 将方法都静态后可以方便使用,通过私有化强制该对象不能建立对象。工具类的产生。
78 帮助文档的制作javadoc: set classpath-.;c:\myclass
80 Person p = new Person (“zhangsan”,20);
该句因为new用到了Person.class.所以会先找到Person.class文件并加装到内存中。执行该类中的static代码块,如果有,给Person.class类进行初始化。在堆内存开辟空间,分配内存地址。在堆内存中建立对象的特有属性。并进行默认初始化。对属性进行显示初始化。对对象进行构造代码块初始化。对对象进行对应的构造函数初始化。将内存地址付给栈内存中的p变量。
81 堆中的数据静态方法从未访问过。
82 单例设计模式。解决一个类在内存中只有一个对象。将构造函数私有化。在类中创建一个本类对象。提供一个方法可以获取到该对象。
83 饿汉式和懒汉式的区别是对象进入内存是,是否创建好了对象。
84-85 继承提高了代码的复用性。让类与类之间产生了关系。有了多态的特征。
不要为了获取其他类的功能而继承,必须是类与类之间有所属关系才可以继承。Java只支持单继承,但java具有多实现。查阅父类功能,创建子类对象使用功能。
86-88 子父类中对象的特点
变量:子类出现非私有对象同名对象,this和super分别用于子类和父类对象的引用。
函数:子类重写(覆盖)父类对象。
构造函数:在对子类进行初始化时,父类的构造函数也会运行,因为子类的构造函数默认第一行有一条隐式语句super()。会访问父类中空参数的构造函数。