java 一个类的构造函数对成员变量x,y进行初始化,然后这个类里的成员函数想要用想,y的值怎么用
4个回答
展开全部
这个要分情况了,如果是该成员函数的形式参数名与成员变量名是一样的,那么调用成员量就要加上this,这里你要明白this的作用:表示当前调用该方法的对象。如果该成员函数的形式参数名与成员变量名是不一样,就不用加上this。 还有注意this的使用方法就是:不能再用statci修饰的函数里面使用。举个列子吧:
class Test
{
int x;
int y;
public Test(x,y){
this.x=x;//这里为什么用this,是因为构造函数的参数名和成员变量名一样
this.y=y;
}
public boolean a(){
if(x>y)//这里为什么没有用this,因为这里没有与成员变量名相同参数名
//当然这里也可以为if(this.x>this.y)
{
return true;
}
else
{
return false;
}
}
public int b(int x){
return x-this.x;//这里一定要写this,因为这里的参数名和成员变量名一样,为了区别
//必须加上this
}
class Test
{
int x;
int y;
public Test(x,y){
this.x=x;//这里为什么用this,是因为构造函数的参数名和成员变量名一样
this.y=y;
}
public boolean a(){
if(x>y)//这里为什么没有用this,因为这里没有与成员变量名相同参数名
//当然这里也可以为if(this.x>this.y)
{
return true;
}
else
{
return false;
}
}
public int b(int x){
return x-this.x;//这里一定要写this,因为这里的参数名和成员变量名一样,为了区别
//必须加上this
}
展开全部
在本类的成员函数里用本类的成员变量,this.x、this.y或者直接用x、y就行
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这就关系到类的封装了。。一般类的成员变量是私有的。。所以类外是不可以访问的,只有通过类中的方法来调用,
public class Point2D {
private int x;
private int y;
public int getX() {
return x;
}
public void setX(int x) {
this.x = x;
}
public int getY() {
return y;
}
public void setY(int y) {
this.y = y;
}
public Point2D(int x, int y) {
super();
this.x = x;
this.y = y;
}
public void offset(int offsetX, int offsetY) {
setX(offsetX);
setY(offsetY);
}
@Override
public String toString() {
return "我是Point2D [x=" + x + ", y=" + y + "]";
}
public double getDistance(Point2D point2d) {
int a = getX() - point2d.getX();
int b = getY() - point2d.getY();
return Math.sqrt(a * a + b * b);
}
}
这里面的setX(); setY(); getX();
getY();就是这个道理,这叫做类的封装
public class Point2D {
private int x;
private int y;
public int getX() {
return x;
}
public void setX(int x) {
this.x = x;
}
public int getY() {
return y;
}
public void setY(int y) {
this.y = y;
}
public Point2D(int x, int y) {
super();
this.x = x;
this.y = y;
}
public void offset(int offsetX, int offsetY) {
setX(offsetX);
setY(offsetY);
}
@Override
public String toString() {
return "我是Point2D [x=" + x + ", y=" + y + "]";
}
public double getDistance(Point2D point2d) {
int a = getX() - point2d.getX();
int b = getY() - point2d.getY();
return Math.sqrt(a * a + b * b);
}
}
这里面的setX(); setY(); getX();
getY();就是这个道理,这叫做类的封装
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2012-12-01
展开全部
public class Point2D {
private int x;
private int y;
public int getX() {
return x;
}
public void setX(int x) {
this.x = x;
}
public int getY() {
return y;
}
public void setY(int y) {
this.y = y;
}
public Point2D(int x, int y) {
super();
this.x = x;
this.y = y;
}
public void offset(int offsetX, int offsetY) {
setX(offsetX);
setY(offsetY);
}
@Override
public String toString() {
return "我是Point2D [x=" + x + ", y=" + y + "]";
}
public double getDistance(Point2D point2d) {
int a = getX() - point2d.getX();
int b = getY() - point2d.getY();
return Math.sqrt(a * a + b * b);
}
}
实体类 创建set get 方法 其他用处 用getY() 获取相应的Y值;
private int x;
private int y;
public int getX() {
return x;
}
public void setX(int x) {
this.x = x;
}
public int getY() {
return y;
}
public void setY(int y) {
this.y = y;
}
public Point2D(int x, int y) {
super();
this.x = x;
this.y = y;
}
public void offset(int offsetX, int offsetY) {
setX(offsetX);
setY(offsetY);
}
@Override
public String toString() {
return "我是Point2D [x=" + x + ", y=" + y + "]";
}
public double getDistance(Point2D point2d) {
int a = getX() - point2d.getX();
int b = getY() - point2d.getY();
return Math.sqrt(a * a + b * b);
}
}
实体类 创建set get 方法 其他用处 用getY() 获取相应的Y值;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询