封装和private,this关键字的简单应用

1.将成员变量用private修饰

2.提供对应的getxx()和setxx()方法

 1 public class Student {
 2
 3     private String name;
 4
 5     private int age;
 6
 7     public String getName(){
 8         return name;
 9     }
10
11     public void setName(String n){
12         name = n;
13     }
14
15     public int getAge(){
16         return age;
17     }
18
19     public void setAge(int a){
20         age = a;
21     }
22 }
 1 public class Test {
 2
 3     public static void main(String[] args) {
 4         //创建学生对象
 5         Student s = new Student();
 6
 7         System.out.println(s.getName() + "-----" + s.getAge());
 8
 9         //给成员变量赋值
10         s.setName("张三");
11         s.setAge(18);
12         System.out.println(s.getName() + "-----" + s.getAge());
13     }
14 }

this关键字:是当前类的饮用对象。简单记,它就代表当前类的一个对象

注意:哪个对象调用这个方法,在该方法内部的this就代表那个对象。

使用场景:解决局部变量隐藏成员变量

 1 public class Student {
 2
 3     private String name;
 4
 5     private int age;
 6
 7     public String getName(){
 8         return name;
 9     }
10
11     public void setName(String name){
12         this.name = name;
13     }
14
15     public int getAge(){
16         return age;
17     }
18
19     public void setAge(int age){
20         this.age = age;
21     }
22 }
 1 public class Test {
 2
 3     public static void main(String[] args) {
 4         //创建学生对象
 5         Student s = new Student();
 6
 7         System.out.println(s.getName() + "-----" + s.getAge());
 8
 9         //给成员变量赋值
10         s.setName("张三");
11         s.setAge(18);
12         System.out.println(s.getName() + "-----" + s.getAge());
13     }
14 }

原文地址:https://www.cnblogs.com/lyywj170403/p/9367694.html

时间: 2024-10-03 07:05:38

封装和private,this关键字的简单应用的相关文章

面向对象、类与对象、成员与局部变量、封装、private、构造函数、this、static、extends、super、final、abstract、interface、多态、内部类、异常【5】

  本文原创作者:pipi-changing本文原创出处:http://www.cnblogs.com/pipi-changing/ 本文版权归作者和博客园共有,未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接 ,否则保留追究法律责任的权利. 面向对象概念 理解面向对象 面向对象是相对面向过程而言 面向对象和面向过程都是一种思想 面向过程 •强调的是功能行为 面向对象 •将功能封装进对象,强调具备了功能的对象. 面向对象是基于面向过程的. 面向过程   在一个结构体中定义窗口的大小

Java_类与对象03_封装和private、this、super、static关键字

A    封装:类中的成员变量为private(私有),为私有的成员变量提供公有的get()或set(). 封装的好处: i.      隐藏实现细节,提供共有的访问方式 ii.     提高了代码的复用性 iii.    提高安全性 封装的原则(思想): i.      将不需要对外提供的内容隐藏起来 ii.     把属性隐藏,提供公共方法对其访问 封装的体现:private是封装的一种体现. B    private: i.      是一个权限修饰符 ii.     可以修饰成员(成员变

07_面向对象(成员变量和局部变量区别、类作为形式参数的问题、匿名对象、封装、private关键字、this关键字、构造方法、成员方法、static关键字、静态变量和成员变量、main方法)_02

7:构造方法(掌握)    (1)作用:用于对对象的数据进行初始化    (2)格式:        A:方法名和类名相同        B:没有返回值类型,连void都不能有        C:没有返回值                思考题:构造方法中可不可以有return语句呢?        可以.而是我们写成这个样子就OK了:return;        其实,在任何的void类型的方法的最后你都可以写上:return;    (3)构造方法的注意事项        A:如果我们没写构

php类的封装、继承和多态的简单理解

.面象对向的三大特点:封装性.继承性.多态性 首先简单理解一下抽象: 我们在前面定义一个类的时候,实际上就是把一类事物共有的属性和行为提取出来,形成一个物理模型(模版),这种研究问题的方法称为抽象 一.封装性  封装就是把抽取出来的数据和对数据的操作封装在一起,数据被保护在内部,程序的其他部分只有被授权的操作(方法)才能对数据进行操作.  php提供了三种访问控制修饰符  public 表示全局,本类内部,类外部,子类都可以访问  protected 表示受保护的,只有本类或子类可以访问  pr

【EXCEL终极总结分享】基于NPOI扩展封装的简易操作工具类库(简单灵活易用,支持导出、导入、上传等常见操作)

对于EXCEL的导入.导出,我之前已分享过多次,比如: 第一种方案:<我写的一个ExcelHelper通用类,可用于读取或生成数据>这个主要是利用把EXCEL当成一个DB来进行获取数据,导出则是采用拼接成HTML TABLE的方式,这种在ASP.NET,ASP.NET CORE 中也是可以的,简单方便,依赖Office Excel组件,仅适用于网站服务端. 推荐指数:♥♥♥ 第二种方案:<MVC导出数据到EXCEL新方法:将视图或分部视图转换为HTML后再直接返回FileResult&g

面向对象_封装(private私有)

private: 私有  权限修饰符用于修饰类中的成员(成员变量,成员函数)(可以修饰类,但只能是内部类) 私有只在本类中有效(也就是在本类中才能直接访问) 将age私有化后,类以外即使建立了对象也不能直接访问了 .但是人应该有年龄,就需要在person类中提供对应访问age的方式(set()和get()) 私有仅仅是封装的一种表现形式. 之所以对外提供访问方式  就 因为可以在访问方式中加入逻辑判断等语句 对访问的数据进行操作,提高代码的健壮性 封装:是指隐藏对象的属性和实现细节,仅对外提供公

C 封装一个通用链表 和 一个简单字符串开发库

引言 这里需要分享的是一个 简单字符串库和 链表的基库,代码也许用到特定技巧.有时候回想一下, 如果我读书的时候有人告诉我这些关于C开发的积淀, 那么会走的多直啊.刚参加工作的时候做桌面开发, 服务是C++写,界面是C#写.那时候刚进去评级我是中级,因为他问我关于系统锁和信号量都答出来.开发一段 时间,写C#也写的很溜.后面招我那个人让我转行就写C++和php,那时候就开始学习C++有关知识. 后面去四川工作了,开发安卓,用eclipse + java语法 + android jdk,开发前端,

c++ public private protected关键字

1.当在类的内部使用这三个关键字,表示访问权限: public: 可以被任意访问. protected: 只允许子类和本类的成员函数访问. private: 只允许本类的成员函数访问. 2.当在类的继承层次中访问时: public: 基类成员的访问权限不会被改变. protected: 基类的public成员为子类的protected成员,其它成员的访问权限不变. private: 基类的所有成员在子类中的访问权限变为private.

【iOS开发-50】利用创建新的类实现代码封装,从而不知不觉实践一个简单的MVC实验

接上次案例谈代码封装.上次案例见:[iOS开发-48]九宫格布局案例:自动布局.字典转模型运用.id和instancetype区别.xib重复视图运用及与nib关系 代码封装的原则是:要保证视图控制器尽量少的接触到其他对象的属性,也就是说,尽量把数据或者属性封装到一个类里面,然后利用类或者对象的方法来调用或者设置数据.而是赤裸裸地把属性都写在视图控制器中.核心作用在于:减少视图控制器的代码量,把数据和属性的处理封装起来,这样也便于其他视图控制器的使用. 要做到的结果就是如下(我们要根据数组里面的