一个视屏的时间教你学会Java面向对象进阶

本文详细讲解了Java面向对象的四个核心概念:成员变量、this关键字、隐藏与封装以及static关键字。通过实例解析了成员变量的分类和用法,强调了this关键字在访问成员变量时的重要性。此外,介绍了隐藏和封装的原理及其实现方式,以及static关键字在静态属性、静态方法和静态代码块中的应用。最后鼓励读者动手实践,巩固所学知识。

hello!我又来了,废话不多说,今天我们学习Java面向对象进阶!

面向对象进阶分为:1.成员变量

                                 2.this关键字

                                 3.隐藏和封装

                                 4.static 关键字

首先我们要明白什么是成员变量:

1.成员变量:在Java中,变量可以分为成员变量和局部变量,成员变量是定义在类里的变量,局部变量是定义在方法里的变量。

成员变量又分为实例变量和类成员变量(静态变量)!

语法:

[<修饰符>] [static] [final] <变量类型><变量名>

注意:1.static表示一个类的成员变量,即静态成员变量

            2.final :表示一个常量

举个例子:我们要创建一个to类,类里一个成员变量name和一个实例变量age那么语法是如下!

public class to{
 static String name;
 int  age;
}

2.this关键字

this关键字总是指向调用该方法的对象,它最大的作用就是让类中的一个方法访问该类中的另一个方法或实例成员变量

举个简单的例子:

我们可以发现我们传入进去的无敌并没有出现,而是出现了一个null(空)

下面我们加入this,来看下效果:

由此发现我们传入的无敌出现了,这是因为在Java中你两个相同地变量之间赋值,Java会分别不出你到底是谁传给谁,所以我们在加入this后,Java才会知道this.变量代表的是成员变量是把局部变量的值赋值给成员变量!

3.隐藏与封装

隐藏与封装的作用:1.隐藏类的实现细节

                                 2.让使用者只能通过事先预定的方法访问数据,从                                      而可以在该方法中加入控制 逻辑,限制对属性                                        的不合理访问

                                  3.可进行数据检查,从而有利于保证对象信息的                                         完整性

                                  4.便于修改,提高代码的可维护性

实现良好的封装,需要从以下两个方面考虑:

                                  1.隐藏对象属性和实现细节,不允许外                                                       部 直接访问。

                                  2.暴露出方法,让该方法控制这些属性                                                       名 进行安全的访问操作

这两个方面都需要使用Java提供的访问控制符实现:

我们接下就使用private(私有的)访问控制符举个例子:

我们创建Barracks类,然后在类里使用private控制符 修饰属性

现在我们在lpo类里调用Barracks类,我们就会发现,当我们访问name这个变量时就会报错

那么我们接下在同一类中访问会name看会不会报错:

结果是没有报错,这就是private控制符的作用,而我们一般在进行隐藏和封装时就要用到private控制符。

4.static关键字

Java类的运行包括类加载和实例化两个变量,当一个类被加载至Java中,静态成员会被初始化,被static修饰的成员即为静态成员。静态成员包括静态代码块、静态属性和静态方法。静态成员不属于莫个对象,仅属于静态成员所在的类。

静态属性:

静态方法:

注意:被static修饰的方法(静态方法),可以直接通过类名访问!

静态代码块:

说明:虽然main()方法时程序的入口方法,但该方法是类加载完成后,由Java虚拟机调用该方法,而静态代码块是在类加载时就执行,加载完成后才执行main()方法,则马上执行静态代码块,因此,图中输出的顺序是先按照静态代码块的顺序执行静态代码块,然后在执行main()方法!

好了,又要说拜拜了,今天的内容讲到这里!大家可以去试试手,看自己有没有学会。

下次我会继续带来新的知识!下次见!

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值