封安装(面向对象的特征之一):它指的是隐藏对象的属性和实现细节,只提供公共访问。
优点:隔离变化;使用方便;提高重用性;安全性。
包装原则:隐藏所有不需要外部提供的内容,隐藏所有属性,并提供公共方法访问它。
this:代表对象。是函数所属对象的引用。
this到底代表什么?哪个对象调用this所在的函数,this代表哪个对象,哪个对象引用。
this什么时候用于开发?
在定义功能时,如果在功能内部使用调用该功能的对象,则使用this来表示该对象。
this 也可用于构造函数间的调用。
调用格式:this(实际参数);
后跟上this对象 . 调用成员属性和成员方法(一般方法);
后跟上this对象 () 调用本类中相应参数的构造函数。
注:用this调用构造函数,必须在构造函数的第一行中定义。由于构造函数用于初始化,因此必须执行初始化动作。否则,编译将失败。
static:★★★ 关键字是修改成员(成员变量和成员函数)的修改符。
特点:
1.要实现对象中共同数据的对象共享。这些数据可以静态修改。
2.被静态修改的成员可以直接被类名调用。换句话说,静态成员有另一种调用方式。类名。静态模式。
3.静态随类加载而加载。并优先考虑对象的存在。
弊端:
1.有些数据是对象的独特数据,不能静态修改。因为在这种情况下,独特的数据将成为对象的共享数据。因此,对事物的描述是错误的。因此,在定义静态时,必须明确该数据是否由对象共享。
2.静态方法只能访问静态成员,不能访问非静态成员。
由于静态加载优先于对象,因此无法访问对象中的成员。
3.this、super关键词不能用于静态方法。
由于this代表对象,而静态在时,可能没有对象,因此this不能使用。
4.主函数是静态的。
静态成员什么时候定义?或者:在定义成员时,是否需要静态修改?
成员分为两种:
1.成员变量。(数据共享时静态化)
成员变量数据是否与所有对象相同:
如果是这样,变量需要静态修改,因为它是共享数据。
如果没有,那么这是对象的独特数据,应该存储在对象中。
2.成员函数(在方法中不调用特殊数据时定义为静态)
若判断成员函数是否需要静态修改?
参考函数中是否访问了对象中的独特数据:
如果有访问特殊数据,则该方法不能静态修改。
如果没有访问特殊数据,则该方法需要静态修改。
成员变量与静态变量的区别:
1.成员变量属于对象。所以也叫实例变量。
静态变量属于类。所以也叫类变量。
成员变量存在于堆内存中。
方法区存在静态变量。
3.成员变量随着对象的创建而存在。随着对象的回收而消失。
随着类的加载,静态变量存在。随着类的消失而消失。
4.成员变量只能被对象调用 。
对象或类名可以调用静态变量。
因此,成员变量可以称为对象的独特数据,静态变量可以称为对象的共享数据。
静态注意:静态生命周期长。
静态代码块:是一个带有静态关键字标记的代码块区域。定义在类别中。
功能:可以完成类的初始化。静态代码块随类的加载而执行,只执行一次(new 多个对象只执行一次)。若与主函数相同,则优先于主函数。
Public:最大的访问权限。
static:不需要对象,可以直接命名。
void:主函数没有返回值。
Main:主函数的特定名称。
(String[] args):主函数的参数是字符串数组类型的参数。当jvm调用main方法时,传输的实际参数是 new String[0]。
jvm默认传输0长字符串数组,我们也可以指定特定的参数进行传输。参数可以添加到控制台上,并在操作此类时添加到后面。参数被空间隔开。jvm将自动将这些字符串参数作为args数组中的元素存储。
同时存在静态代码块、构造代码块、构造函数的执行顺序:静态代码块 构造代码块 构造函数;
生成Java帮助文档:命令格式:javadoc –d 文件夹名 –auther –version *.java
/** //格式
*类描述
*@author 作者名
*@version 版本号
*/
/**
*方法描述
*@param 参数描述
*@return 返回值描述
*/
设计模式:解决问题最有效的想法。它是一套反复使用、大多数人知道、分类目的和代码设计经验的总结。设计模式的使用是重用代码,使代码更容易被他人理解,并确保代码的可靠性。