面向对象-this关键字的内存图解

 1 /*
 2     标准的代码改进版
 3
 4     this:哪个对象调用那个方法,this就代表那个对象
 5 */
 6 class Student {
 7     private String name;
 8     private int age;
 9
10     public String getName() {
11         return name; //这里其实是隐含了this
12     }
13
14     public void setName(String name) {
15         this.name = name;
16     }
17
18     public int getAge() {
19         return age;
20     }
21
22     public void setAge(int age) {
23         this.age = age;
24     }
25 }
26
27 class StudentTest2 {
28     public static void main(String[] args) {
29         //创建一个对象
30         Student s1 = new Student();
31         s1.setName("林青霞");
32         s1.setAge(27);
33         System.out.println(s1.getName()+"---"+s1.getAge());
34
35         //创建第二个对象
36         Student s2 = new Student();
37         s2.setName("刘意");
38         s2.setAge(30);
39         System.out.println(s2.getName()+"---"+s2.getAge());
40     }
41 }

时间: 2024-11-17 17:11:47

面向对象-this关键字的内存图解的相关文章

面向对象this关键字的内存图解

this:哪个对象调用方法,this就代表哪个对象 案例1: //定义老师类 class Teacher { private String name; private int age; public String getName(){ return name; //return this.name;这里隐含了this, //因为局部没有name变量,所以不需要写this } public int getAge(){ return age; } public void setName(String

Java中this、static关键字的内存图解

Java中的关键字有很多,abstract  default  goto*  null  switch  boolean  do  if  package  nchronzed  break  double  implements  private  this  byte  else  import  protected  throw  throws  case  extends  instanceof  public  transient  catch  false  int  return 

3.03_面向对象(static关键字及内存图)

* A:案例演示     * 通过一个案例引入static关键字.     * 人类:Person.每个人都有国籍,中国. * B:画图演示     * 带有static的内存图 lass Demo1_Static { public static void main(String[] args) { /*Person p1 = new Person();  //创建对象 p1.name = "苍老师";                   //调用姓名属性并赋值 p1.country

面向对象编程(十)——继承之Super关键字及内存分析

阅读目录 Super关键字画内存分析图了解程序执行的整个过程 Super关键字 在JAVA类中使用super来引用父类的成分,用this来引用当前对象,如果一个类从另外一个类继承,我们new这个子类的实例对象的时候,这个子类对象里面会有一个父类对象.怎么去引用里面的父类对象呢?使用super来引用,this指的是当前对象的引用,super是当前对象里面的父对象的引用. super是直接父类对象的引用.可以通过super来访问父类中被子类覆盖的方法或属性. (注意和this的区别:this是当前对

JAVA面向对象-----super关键字

JAVA面向对象-–super关键字 1:定义Father(父类)类 1:成员变量int x=1; 2:构造方法无参的和有参的,有输出语句 2:定义Son类extends Father类 1:成员变量int y=1; 2:构造方法无参和有参的.有输出语句this.y=y+x; 3:创建Son类对象 Son son=new Son(3); System.out.println(son.y); //4 class Father { int x = 1; Father() { System.out.p

10 面向对象(package关键字的概述及作用)

10.01_面向对象(package关键字的概述及作用) A:为什么要有包 *开发时有很多类,如果放在一个文件夹中不方便管理,而且容易重复 将字节码(.class)进行分类存放 包其实就是文件夹 B:包的概述 举例: 学生:增加,删除,修改,查询 老师:增加,删除,修改,查询 - 方案1:按照功能分 com.heima.add AddStudent AddTeacher com.heima.delete DeleteStudent DeleteTeacher com.heima.update U

面向对象this关键字和概述和应用

面向对象this关键字和概述和应用 1 package thisdemo; 2 3 /** 4 * 面向对象this关键字和概述和应用 5 * 6 */ 7 8 //定义老师类 9 class Teacher { 10 private String name; 11 private int age; 12 13 //设置姓名值 14 public void setName(String n){ 15 name = n; 16 } 17 18 //获取姓名值 19 public String ge

volatile关键字与内存可见性

前言 首先,我们使用多线程的目的在于提高程序的效率,但是如果使用不当,不仅不能提高效率,反而会使程序的性能更低,因为多线程涉及到线程之间的调度.CPU上下文的切换以及包括线程的创建.销毁和同步等等,开销比单线程大,因此需谨慎使用多线程. 在jdk1.5以后,提供了一个强大的java.util.current包,这个包中提供了大量的应用于线程的工具类. 下面开始介绍volatile关键字和内存可见性,虽然volatile是在jdk1.5之前就有的,但还是想放在这里讲一下. 举例说明 首先,我们先看

PHP中面向对象的关键字

php面向对象中常用的关键字有final.static.const (1)final: 1,final不能修饰成员属性 2,final只能修饰类和方法 作用: 使用final修饰的类不能被子类继承 使用final修饰的方法不能被子类去覆盖 用来限制类不被继承,方法不能被覆盖就使用final(2.)static: 1,使用static可以修饰成员属性和成员方法,不能修饰类 2,用static修饰的成员属性,可以被同一个类的所有对象共享 3,静态的数据是存在内存中的数据段中(初始化静态段) 4,静态