java中static和this_理解Java中this和static的含义
//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的含义相关推荐
- [转载] Java内存管理-你真的理解Java中的数据类型吗(十)
参考链接: Java中的字符串类String 1 做一个积极的人 编码.改bug.提升自己 我有一个乐园,面向编程,春暖花开! 推荐阅读 第一季 0.Java的线程安全.单例模式.JVM内存结构等知识 ...
- 如何理解Java自动装箱_如何理解Java中的自动拆箱和自动装箱?
如何理解Java中的自动拆箱和自动装箱? 自动拆箱?自动装箱?什么鬼,听都没听过啊,这...这..知识盲区... 回到家后小伟赶紧查资料,我透,这不就是问基本类型跟封装类型吗,面试官整啥名词呢... ...
- java的弱引用_理解Java中的弱引用(Weak Reference)
本篇文章尝试从What.Why.How这三个角度来探索Java中的弱引用,理解Java中弱引用的定义.基本使用场景和使用方法.由于个人水平有限,叙述中难免存在不准确或是不清晰的地方,希望大家可以指出, ...
- java什么是reference_如何理解java中的Reference和引用类型?正确的案例讲解
java中有值类型也有引用类型,引用类型一般是针对于java中对象来说的,今天介绍一下java中的引用类型.java为引用类型专门定义了一个类叫做Reference.Reference是跟java垃圾 ...
- 详细了解java中的null_深入理解java中的null“类型”
本文研究的主要是java中的null"类型"的相关实例,具体介绍如下. 先给出一道简单的null相关的题目,引发我们对null的探讨,后面会根据官方语言手册对null"类 ...
- java事件处理模型_从零开始理解JAVA事件处理机制(3)
我们连续写了两小节的教师-学生的例子,必然觉得无聊死了,这样的例子我们就是玩上100遍,还是不知道该怎么写真实的代码.那从本节开始,我们开始往真实代码上面去靠拢. 事件最容易理解的例子是鼠标事件:我们 ...
- java 异常机制_深入理解Java异常处理机制
一.引子 try-catch-finally恐怕是大家再熟悉不过的语句了,而且感觉用起来也是很简单,逻辑上似乎也是很容易理解.不过,我亲自体验的"教训"告诉我,这个东西可不是想象中 ...
- java对象实例_深入理解Java对象实例生成的例子!(转)
深入理解Java对象实例生成的例子!(转)[@more@]代码如下: class A { public int Avar; public A() { System.out.println(" ...
- java class教程_深入理解Java Class文件格式(七)
本专栏列前面的一系列博客, 对Class文件中的一部分数据项进行了介绍. 本文将会继续介绍class文件中未讲解的信息. 先回顾一下上面一篇文章. 在上一篇博客中, 我们介绍了: this_class ...
最新文章
- JQuery 动态创建表单,并自动提交
- 张杰和机器人_《80后脱口秀》吐槽高考 张杰化身“机器人”
- 如何迅速成为Java高手[Tomjava原创]
- Apache Ranger初识
- bentley 二次开发_Bentley的基本概念
- Linux进阶之路————远程登录与vim编辑器
- 灰色预测法 —— matlab
- SQL Server中以独占的方式操作表
- 移动前端的一些坑和解决方法(外观表现)
- DELPHI操作INI文件详细讲解
- coreseek mysql.sock_centos安装coreseek
- stm32采集交流电压信号_基于STM32的多路电压采集的设计与实现
- IIS安装及ASPNet开发环境配置
- 路由器常见故障排除及解决方法!
- python课程计算bmi_Python第十一课 计算体脂率1.0
- DataHunter完成千万级A轮融资 打造数据协作平台
- Java基础——使用json所要用到的jar包下载
- PS改变图片颜色的方法
- Linux十大常用命令
- Python---20行代码爬取斗鱼平台房间数据(下)
热门文章
- 《从问题到程序:用Python学编程和计算》——2.6 简单脚本程序
- 《Redis官方文档》Redis简介
- spring3 的restful API RequestMapping介绍
- AngularJS+Satellizer+Node.js+MongoDB-Instagram-01
- jdk1.5新特性5之枚举之模拟枚举类型
- ListView的两种使用方法--Android学习笔记
- [转]nodejs深入学(7)理解Buffer
- 学习设计模式 - 六大基本原则之开闭原则
- 数字校园APP——可行性报告分析
- ThinkPHP连接sqlserver,错误11001