Java面向对象01

本文详细介绍了Java编程中的成员变量和局部变量的概念、区别及重名处理,强调了this关键字的作用。同时,讲解了构造方法的用途、调用方式以及构造方法重载。静态成员的特性、调用方式以及与非静态成员的关系也被详述。此外,还涵盖了JavaBean规范和初始化顺序,并探讨了面向对象的三大特征——封装、继承和多态。
摘要由CSDN通过智能技术生成

成员变量和局部变量

成员变量:类中、属性、也叫全局变量

局部变量:方法中

1.成员变量和局部变量重名问题?

        ①当成员变量和局部变量重名时,由于局部优先原则,也称就近原则。如果想要使用成员变量,需要在前面加this。        格式→this.成员变量

        ②this用法之一,代表当前类的当前对象,不用区分时可以是省略。必须和局部变量区分时,必须带。

2.成员变量和局部变量的区别?

        ①位置:

                成员变量:类中,方法外。

                局部变量:方法中。

        ②内存中的位置:

                成员变量:堆中对象里。

                局部变量:栈中方法里。

        ③声明周期:

                成员变量:随着对象的存在而存在,随着对象的消亡而消亡。

                局部变量:随着方法的压栈而存在,随着方法的弹栈而消亡。

匿名对象

1.概念:匿名对象,没有对象的名称。

2.好处:

        ①简化书写

        ②节省内存空间,垃圾回收机制,自动回收

注意:对于匿名对象来说,同一个对象。调用属性或方法,只能调用一次。

构造方法

作用:

        ①创建对象时,调用方法。

        ②初始化

注意:初始化可以是属性,也可以是其它方法。

           格式→new 构造方法(参数)

细节问题:

        ①构造方法的声明:[控制权限修饰符] 类名(参数){}

        注意:

                ①如果一个类中没有显示声明构造方法,Java编译器会自动添加一个空参构造方法。

                ②如果一个类显示声明构造方法,Java编译器就不会自动添加。

构造方法与一般方法的区别?

        ①写法上:

                构造方法:没有返回值,连void返回值都没有。

                一般方法:有返回值类型。

        ②调用方法式上:

                构造方法:new的时候使用,也就是创建对象时才调用。

                一般方法:创建对象后,被对象调用(static静态除外)。

        ③使用次数上:        

                构造方法:对于同一个对象来说,只能使用一次。

                一般方法:对于同一个对象来说,可以无限使用。

构造方法的重载:

        格式:[权限修饰符] 类名(参数){}

        注意:根据参数的不同,可以有不同的构造方法,这种方式称为”构造方法的重载形式“

面向对象

1.三大基本特征:封装、继承、多态

2.特征(四个):封装、继承、多态、抽象

3.封装:对外隐藏事物的细节,只提供接口供外界访问。

        封装的好处:提高程序的安全性,提高代码的复用性。

        封装的最大体现:私有的属性,共有的方法。

                private关键字:私有的属性,通过private进行修饰的属性。

                共有的方法:通过setter和getter方法

静态

1.概念:static静态

2.内存图

3.总结:

        ①静态成员随着类的加载而加载,只加载一次。

        ②对于静态修饰成员,用static修饰成员,存在方法区的静态区中。

        ③静态成员特点:实例共享,所有对象共享该成员。

4.静态成员的格式:

        ①凡是static修饰,都是静态成员。

        ②调用格式:类名.属性名称/方法名称。

        ③静态成员又叫类成员,属性被称为类属性,方法被称为类方法。

5.静态成员与非静态成员之间调用关系:

        ①静态成员调用静态成员:直接调用

        ②非静态成员调用静态成员:直接调用

        ③非静态成员调用非静态成员:直接调用

        ④静态成员调用非静态成员:不能直接调用

                如果想要使用:

                        ①添加为静态

                        ②创建对象,保证非静态成员的存在,才能调用。

6.静态成员与非静态成员的区别:

        ①写法:

                静态成员:用static修饰

                非静态成员:没有static修饰

        ②内存中的位置:

                静态成员:方法区中的静态区中。

                非静态成员:属性在堆中对象里,方法在方法区中的非静态区。

        ③调用:

                静态成员:类成员,通过类名.属性/方法(参数)

                非静态成员:创建实例,通过对象.属性/方法(参数)

        ④声明周期:

                静态成员:随着类的加载而加载,随着类的消亡而消亡。

                非静态成员:随着对象的存在而存在,随着对象的消亡而消亡。

JavaBean    

1.概念:符合某种规范的Java类。

2.规范:

        ①必须又getter和setter方法

        ②必须又无参构造,如果显示声明了其它构造,没有无参构造,必须手动添加无参构造。

初始化顺序问题

1.初始化:

        ①默认初始化:开辟空间,默认赋值。

        ②显示初始化:直接在声明属性时,为属性赋值。

        ③构造初始化:在构造方法中为属性赋值。

 2.顺序:默认初始化→显示初始化→构造初始化

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值