---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------
封装:
隐藏对象的属性和实现细节,仅仅对外提供公共访问方式
好处:将变化隔离,提高复用性和安全性
封装原则:隐藏不对外提供内容,属性都隐藏
权限修饰符:用于修饰成员(成员变量和成员函数)
public(公共),访问权限是最大的
,private(私有),私有仅仅是一种封装的表现形式,被私有化的成员只在本类中有效
void:表示没有具体的返回值
main;虽然不是关键字,但是被JVM识别
将成员变量私有化,对外提供对应的set ,get方法对其进行访问。提高对数据访问的安全性
类中的set方法,类型是void,不需要返回;get方法的返回类型和它获取的变量一致
构造函数:
函数名与类名相同,不用定义返回值类型,不可以写return语句,多个构造函数是以重载的形式存在的。
构造函数与一般的函数在写法上面有不同,运行也有不同
一建立就运行,作用是给对象进行初始化,并且只运行一次
而一般方法是对象调用才执行,给对象添加对象具备的功能.,可以被对象调用多次
当分析事物时,存在具备一些特性或者行为,那么就将这些内容定义在构造函数中,
构造代码块:
作用:给对象进行初始化,对象一建立就运行,并且优先于构造函数执行
区别:构造代码块对所有对象统一初始化,而构造函数给对应对象初始化
this:
代表本类对象,代表它所在的函数的引用
哪个对象调用this所在的函数,this就代表哪个对象
用于区分局部变量和成员变量同名的情况
应用:
定义类中功能时,该函数内部调用该函数的对象,这时就用this表示,本类功能内部使用了本类对象,都用this表示
对this的调用必须是构造函数的第一行
static(静态):
用于修饰成员(成员变量和成员函数)
被修饰后的成员具备以下特点:
随着类的加载而加载,,类的消失而消失,生命周期最长
优先于对象存在,当不涉及到特有数据时就可以使用
被所有对象所共享,可以直接被类名调用,例:类名.静态方法
注意:
静态的好处:对对象的共享数据进行单独空间的存储,节省空间
静态的弊端:生命周期过长,访问局限性(只能访问静态)
静态方法只能访问静态成员
静态方法中不可以写this,super关键字,因为静态优先于对象存在
主函数也是静态的,主函数是特殊函数,作为程序的入口,被JVM调用
使用时机:
当对象中出现共享数据时,定义静态变量(类变量)
对象中的特有数据要定义成非静态存在于堆内存中.
静态函数:
当功能内部访问到非静态数据(对象特有数据),就可以定义,将方法静态后,方便使用,但还是可以被其他程序建立对象的
如果为了让程序严谨,强制该类不能建立对象,就将构造函数私有化
对象的初始化过程:
当new一个对象的时候
1,因为new用到了类文件,所以会先将这个类加载到内存中
2,执行该类的静态代码块(如果有的话),给类进行初始化
3,在堆内存中开辟空间,分配内存地址
4,在堆内存中建立对象的特有属性,并默认初始化
对属性进行显式初始化;
对对象进行构造代码块初始化
对对象进行对对应的构造函数初始化
将内存地址赋予栈内存中的变量(引用类类型变量)
对象调用成员的过程:
静态区:类名.静态方法名
非静态:this.特有属性名
---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------