Java面向对象(一)

<1>面向对象编程的优点:1:将复杂的事情简单化。2:将以前的过程中的执行者变成指挥者。3:符合人们思考习惯。面向对象的三大特征:封装、继承、多态;

<2>Java中最基本的单位是类。类是一组相关属性、行为的集合,是对象共有属性的一种抽象,通过类可以创建对象。创建对象的方法:类名 对象名 = new 类名();对象都有属性和相关行为,在类中定义其实都称之为成员。成员有两种:1:成员变量:其实对应的就是事物的属性。2:成员方法:其实对应的就是事物的行为。

<3>变量的作用域和生存期:作用域从变量定义的位置开始,到该变量所在的那对大括号结束;生命周期从定义的位置开始就在内存中存在,变量到达它所在的作用域的时候就在内存中消失。

局部变量与成员变量区别:1、定义不同:局部变量定义于方法内,成员变量定义于类中方法外。2、数据存储方式不同:局部变量进栈内存(属于方法);成员变量进堆内存(属于对象)3、生命周期:局部变量随着方法出栈而消失,成员变量随着对象消失而消失;4、初始化值不同:局部变量无初始化值,要使用需要赋值,成员变量有初始化值。注:当成员变量与局部变量名相同,采用就近原则。

<4>匿名对象:创建方式为new类名(),使用场景:1:当对方法只进行一次调用的时候,使用匿名对象。2:当对象对成员进行多次调用时,不能使用匿名对象。必须给对象起名。因每调用一次匿名对象会产生一个对象。匿名对象可以设置属性,但设置后,对象会变为垃圾,没有意义。

<5>封装: 使用private关键字。隐藏对象的属性和实现细节,对外提供setxxx()getxxx()方法进行访问。可以在方法中加入逻辑判断等操作,对数据进行判断等操作。

<6>this关键字:代表所在方法所属对象引用。哪个对象调用了该方法,就代表哪个对象。可以用于区分成员变量和局部变量重名;thissuper的区别:this代表当前对象的引用,super代表父类的引用。

<7>构造方法:给属性初始化;如果没有提供构造方法,系统会默认给一个空参构造;如果提供,系统不再提供;实际操作中,建议写无参构造。

<8>静态(static):成员变量加static后,所有对象都拥有一个共有属性,只要对象一个对象设定后,其余对象默认都有该属性。static随着类的加载而加载,优先于对象存在。静态方法和属性被类所有对象共享,可以通过类名调用static注意事项:静态中无this关键字,静态随类加载,this为当前对象的引用,类加载时还不一定创建了对象;静态只能访问静态,静态优先于对象存在,无法访问对象中变量和方法。

<9>成员变量和静态变量的区别:1,成员变量所属于对象。所以也称为实例变量。静态变量所属于类。所以也称为类变量。2,成员变量存在于堆内存中。静态变量存在于方法区中。3,成员变量随着对象创建而存在。随着对象被回收而消失。静态变量随着类的加载而存在。随着类的消失而消失。4,成员变量只能被对象所调用 。静态变量可以被对象调用,也可以被类名调用。因此,成员变量可以看做对象的特有数据,静态变量可以看做对象的共享数据。

All I want to do in my hole life is to make the web a better place. Cheer up
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值