//this:当前对象的引用

//在引用一个类的成员变量,this被编译器隐含传递过去

//this的用法

//返回当前对象的引用

//从一个构造函数中调用另外一个构造函数

//区分同名的成员变量和参数变量

//静态变量:类变量,为此类所有对象共享

//静态方法:静态方法里没有this引用

//不能在静态方法中访问非静态的成员变量和方法

//可以直接通过类访问静态成员,即使不存在该类的对象

package cn.edu.uibe.oop;

//this:当前对象的引用

//在引用一个类的成员变量,this被编译器隐含传递过去

//this的用法

//返回当前对象的引用

//从一个构造函数中调用另外一个构造函数

//区分同名的成员变量和参数变量

//静态变量:类变量,为此类所有对象共享

//静态方法:静态方法里没有this引用

//不能在静态方法中访问非静态的成员变量和方法

//可以直接通过类访问静态成员,即使不存在该类的对象

public class Point {

public double x; //X轴坐标

public double y; //Y轴坐标

public static int counter=0; //点的个数

public Point(){

this(1.0,1.0); //利用this调用其它构造方法

}

public Point(double x,double y){

this.x = x; //this.x是成员变量,x是参数变量

this.y = y;

counter++;

}

public Point plus(){

this.x++;

y++;

return this; //返回当前对象的引用

}

public void show(){

System.out.println("x="+x+" y="+y);

}

public static void showCounter(){

System.out.println("点的个数为:"+counter);

//x = 4; //不能访问实例变量

//this //没有this引用

//show(); //不能调用非静态的方法

}

public static void main(String[] args) {

Point p1;

p1 = new Point();

Point p2 = new Point(3,3);

p2.plus();

p1.show();

Point p3 = p1.plus(); //p3和p1指向了同一个对象

if(p1==p3){

System.out.println("p1=p3");

}

p1.plus().plus().plus();

p1.show();

p2.show();

System.out.println(Point.counter);

Point.showCounter(); //通过类名调用静态方法

}

}

java中static和this_理解Java中this和static的含义相关推荐

  1. [转载] Java内存管理-你真的理解Java中的数据类型吗(十)

    参考链接: Java中的字符串类String 1 做一个积极的人 编码.改bug.提升自己 我有一个乐园,面向编程,春暖花开! 推荐阅读 第一季 0.Java的线程安全.单例模式.JVM内存结构等知识 ...

  2. 如何理解Java自动装箱_如何理解Java中的自动拆箱和自动装箱?

    如何理解Java中的自动拆箱和自动装箱? 自动拆箱?自动装箱?什么鬼,听都没听过啊,这...这..知识盲区... 回到家后小伟赶紧查资料,我透,这不就是问基本类型跟封装类型吗,面试官整啥名词呢... ...

  3. java的弱引用_理解Java中的弱引用(Weak Reference)

    本篇文章尝试从What.Why.How这三个角度来探索Java中的弱引用,理解Java中弱引用的定义.基本使用场景和使用方法.由于个人水平有限,叙述中难免存在不准确或是不清晰的地方,希望大家可以指出, ...

  4. java什么是reference_如何理解java中的Reference和引用类型?正确的案例讲解

    java中有值类型也有引用类型,引用类型一般是针对于java中对象来说的,今天介绍一下java中的引用类型.java为引用类型专门定义了一个类叫做Reference.Reference是跟java垃圾 ...

  5. 详细了解java中的null_深入理解java中的null“类型”

    本文研究的主要是java中的null"类型"的相关实例,具体介绍如下. 先给出一道简单的null相关的题目,引发我们对null的探讨,后面会根据官方语言手册对null"类 ...

  6. java事件处理模型_从零开始理解JAVA事件处理机制(3)

    我们连续写了两小节的教师-学生的例子,必然觉得无聊死了,这样的例子我们就是玩上100遍,还是不知道该怎么写真实的代码.那从本节开始,我们开始往真实代码上面去靠拢. 事件最容易理解的例子是鼠标事件:我们 ...

  7. java 异常机制_深入理解Java异常处理机制

    一.引子 try-catch-finally恐怕是大家再熟悉不过的语句了,而且感觉用起来也是很简单,逻辑上似乎也是很容易理解.不过,我亲自体验的"教训"告诉我,这个东西可不是想象中 ...

  8. java对象实例_深入理解Java对象实例生成的例子!(转)

    深入理解Java对象实例生成的例子!(转)[@more@]代码如下: class A { public int Avar; public A() { System.out.println(" ...

  9. java class教程_深入理解Java Class文件格式(七)

    本专栏列前面的一系列博客, 对Class文件中的一部分数据项进行了介绍. 本文将会继续介绍class文件中未讲解的信息. 先回顾一下上面一篇文章. 在上一篇博客中, 我们介绍了: this_class ...

最新文章

  1. JQuery 动态创建表单,并自动提交
  2. 张杰和机器人_《80后脱口秀》吐槽高考 张杰化身“机器人”
  3. 如何迅速成为Java高手[Tomjava原创]
  4. Apache Ranger初识
  5. bentley 二次开发_Bentley的基本概念
  6. Linux进阶之路————远程登录与vim编辑器
  7. 灰色预测法 —— matlab
  8. SQL Server中以独占的方式操作表
  9. 移动前端的一些坑和解决方法(外观表现)
  10. DELPHI操作INI文件详细讲解
  11. coreseek mysql.sock_centos安装coreseek
  12. stm32采集交流电压信号_基于STM32的多路电压采集的设计与实现
  13. IIS安装及ASPNet开发环境配置
  14. 路由器常见故障排除及解决方法!
  15. python课程计算bmi_Python第十一课 计算体脂率1.0
  16. DataHunter完成千万级A轮融资 打造数据协作平台
  17. Java基础——使用json所要用到的jar包下载
  18. PS改变图片颜色的方法
  19. Linux十大常用命令
  20. Python---20行代码爬取斗鱼平台房间数据(下)

热门文章

  1. 《从问题到程序:用Python学编程和计算》——2.6 简单脚本程序
  2. 《Redis官方文档》Redis简介
  3. spring3 的restful API RequestMapping介绍
  4. AngularJS+Satellizer+Node.js+MongoDB-Instagram-01
  5. jdk1.5新特性5之枚举之模拟枚举类型
  6. ListView的两种使用方法--Android学习笔记
  7. [转]nodejs深入学(7)理解Buffer
  8. 学习设计模式 - 六大基本原则之开闭原则
  9. 数字校园APP——可行性报告分析
  10. ThinkPHP连接sqlserver,错误11001