1.将成员变量用private修饰

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

 public class Student {

     private String name;

     private int age;

     public String getName(){
return name;
} public void setName(String n){
name = n;
} public int getAge(){
return age;
} public void setAge(int a){
age = a;
}
}
 public class Test {

     public static void main(String[] args) {
//创建学生对象
Student s = new Student(); System.out.println(s.getName() + "-----" + s.getAge()); //给成员变量赋值
s.setName("张三");
s.setAge(18);
System.out.println(s.getName() + "-----" + s.getAge());
}
}

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

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

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

 public class Student {

     private String name;

     private int age;

     public String getName(){
return name;
} public void setName(String name){
this.name = name;
} public int getAge(){
return age;
} public void setAge(int age){
this.age = age;
}
}
 public class Test {

     public static void main(String[] args) {
//创建学生对象
Student s = new Student(); System.out.println(s.getName() + "-----" + s.getAge()); //给成员变量赋值
s.setName("张三");
s.setAge(18);
System.out.println(s.getName() + "-----" + s.getAge());
}
}

this和super的区别:

this代表本类对应的引用

super代表父类存储空间的标识(父类的引用,可以操作父类的成员)

使用:

1.调用成员变量

this.成员变量   调用本类的成员变量

super.成员变量    调用父类的成员变量

     class Father{
public int num = 10;
} class Son extends Father{
public int num = 20; public void show(){
int num = 30;
System.out.println(num);//输出局部范围的num 30
System.out.println(this.num);//输出本类成员范围的num 20
System.out.println(super.num);//输出父类成员范围的num 10
}
} public class TestExtendsDemo {
public static void main(String[] args) {
Son s = new Son();
s.show();
}
}

2. 调用构造方法

this(...)   调用本类的构造方法

super(...)  调用父类的构造方法

3.调用成员方法

this.成员方法   调用本类的成员方法

super.成员方法   调用父类的成员方法

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

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

    若有不正之处,请多多谅解并欢迎批评指正,不甚感激. 请尊重作者劳动成果: 本文原创作者:pipi-changing本文原创出处:http://www.cnblogs.com/pipi-changing ...

  2. java中关于类的封装与继承,this、super关键字的使用

    原创作品,可以转载,但是请标注出处地址http://www.cnblogs.com/V1haoge/p/5454849.html. this关键字: this代表当前对象,它有以下几种用途: 1.本类 ...

  3. 浅析构造函数,及public、private、protected、final、this、super关键字

    初学JAVA,感觉很多知识点不熟悉,看了好多遍教材,最终还是决定把它写下来,加深印象以便忘了的时候再过来复习一下.看上去字数可能比较多,其实内容很简明. 首先看this的用法: package tes ...

  4. 1、类、封装(私有private、this关键字)

    类与对象 对象在需求中的使用 ​ 对面向对象有了了解之后,我们来说说在具体问题中如何使用面向对象去分析问题,和如何使用面向对象. ​ 我们把大象装冰箱为例进行分析. ​ 在针对具体的需求,可以使用名词 ...

  5. Java super关键字活用

    在实际开发中我们要自定义组件,就需要继承自某个组件类,如果我们自定义的这个组件类也需要像被继承的这个组件类一样,拥有丰富的构造方法. 关键字super的作用就更加显得尤为重要了,你可以在堆砌自己自定义 ...

  6. Java--继承和super关键字

    一.Java中方法的参数传递(重点) Java中参数传递都是值传递 Java中的值分两种: 1.如果传递的参数是基本数据类型: 传递的值就是基本数据类型的值. 传递的时候,其实是把基本数据类型的值,复 ...

  7. java封装性、继承性及关键字

    方法的参数传递(重点.难点)1.形参:方法声明时,方法小括号内的参数   实参:调用方法时,实际传入的参数的值 2.规则:java中的参数传递机制:值传递机制 1)形参是基本数据类型的:将实参的值传递 ...

  8. java的继承 和super关键字 构造器

    面向对象的特性二继承: 继承的好处: 1.减少代码的冗余.提高了代码的复用性 2.便于功能的扩展 3.为之后多态的使用,提供了前提 继承的格式: class A extends B{} A:子类.派生 ...

  9. 重写、super关键字、final关键字、多态、子类型转换、抽象的初步了解

    重写 含义 在Java中,子类可继承父类中的方法,而不需要重新编写相同的方法.但有时子类并不想原封不动地继承父类的方法,而是想作一定的修改,这就需要采用方法的重写.方法重写又称方法覆盖. 重写与重载的 ...

随机推荐

  1. Windows上安装Apache

    1.下载 (1)进入Apache官网http://httpd.apache.org— (2)点击Download (3)点击Files for Microsoft Windows (4)点击Apach ...

  2. 解决Eclipse中文字体横着显示的问题

    Windows ——> Perference——> General ——> Appearence ——> Colors and Fonts ——> Basic ——> ...

  3. Spring Cloud架构教程 (七)消息驱动的微服务(核心概念)【Dalston版】

    下图是官方文档中对于Spring Cloud Stream应用模型的结构图.从中我们可以看到,Spring Cloud Stream构建的应用程序与消息中间件之间是通过绑定器Binder相关联的,绑定 ...

  4. mktime夏令时处理

    https://www.cnblogs.com/dongzhiquan/archive/2011/11/05/2237075.html 我们的最终目的是把字符串格式的时间转换为内部使用的“日历时间”, ...

  5. Anyhashable打印格式化

    NSLog("<LocalContactMatch>: \(bestAttemptContent.userInfo as AnyObject)")

  6. MacOS下Java Mission Control无法正常启动

    参考JMC(Java Mission Control)在mac下无法启动和显示界面 附件下载地址备份(org.eclipse.swt.cocoa.macosx.x86_64-3.112.0.jar) ...

  7. jmeter的日常特殊参数化

    1.map转译符号:   如果///Mobile///:///18888888888///   需要再参数化请这样做,////Mobile////://///${Mobile}/////   2.in ...

  8. leetcode-mid-Linked list-160 Intersection of Two Linked Lists-NO

    mycode 用了反转链表,所以不符合题意 参考: 思路: 1 先让长的链表先走,然后相同长度下看是否相遇 class Solution(object): def getIntersectionNod ...

  9. 线段树板子1(洛谷P3372)

    传送 一道线段树板子(最简单的) 似乎之前在培训里写过线段树的样子?不记得了 何为线段树? 一般就是长成这样的树,树上的每个节点代表一个区间.线段树一般用于区间修改,区间查询的问题. 我们如何种写一棵 ...

  10. qbzt day2 晚上(竟然还有晚上)

    内容提要 搜索 拓展欧几里得 逆元 先是搜索 A* 有几个数组 g 当前点到根节点的深度 h 当前点到终点理想的最优情况需要走几步 f  f=g+h A*就是把所有的f从小到大排序 启发式搜索相较于其 ...