java-关于Java private私有变量的问题

问题描述

关于Java private私有变量的问题

class A
{
private int x = 3;
public void static main(String [] args)
{
new A().func(new A());
}
public void func(A a)
{
System.out.println(a.x)
}
}
new A().func(new A());
}
public void func(A a)
{
System.out.println(a.x)
}
}
这三行代码分别是什么意思啊 特别是(A a)和(a.x)到底是什么意思

解决方案

(A a):A是引用型类型,a是对象,就是说传入A类型的一个a对象。(a.x)是调用a对象实例中的x成员变量

解决方案二:

第一行:new A()创建A对象 ; .func(new A())指调用该类的func方法;
第二行:定义了func方法,方法参数是对象A本身
第三行:func方法是干什么了,System.out.println(a.x);这是输出语句,输出了参数对象a的属性x的值。。。。

不知道东了没

解决方案三:

(A a) A的一个对象实例a

(a.x)表示a对象的属性x的值

解决方案四:

(A a)和(a.x)
前者是一个对象;后者是这个对象中的属性;

匿名内部类是在单一表达式内定义的嵌套类。因为这些类没有名称和构造函数,所以称为匿名类。它们只能访问最终方法变量和参数

http://blog.csdn.net/blueln/article/details/6991864

解决方案五:

第一行:new A()创建A对象 ; .func(new A())指调用该类的func方法;
第二行:定义了func方法,方法参数是对象A本身
第三行:func方法是干什么了,System.out.println(a.x);这是输出语句,输出了参数对象a的属性x的值
就这么点

时间: 2025-01-04 01:49:11

java-关于Java private私有变量的问题的相关文章

Java线程:线程私有变量

线程对象也是从一个(线程)类而构建的,线程类作为一个类也可以拥有自己的私有成员.这个成员 为此线程对象私有,有时候使用线程私有变量,会巧妙避免一些并发安全的问题,提高程序的灵活性和编 码的复杂度. 下面举例来说吧,统计一个线程类创建过多少个线程,并为每个线程进行编号. package com.lavasoft.test; /** * 为线程添加编号,并确所创建过线程的数目 * * @author leizhimin 2010-1-4 14:15:31 */ public class Thread

java private私有属性怎么在子类中访问

问题描述 java private私有属性怎么在子类中访问 class TianTi { private double tiji; private double zhiliang; public TianTi(){} public TianTi(double tiji,double zhiliang){ this.tiji=tiji; this.zhiliang=zhiliang; } public void setTiji(double tiji) { this.tiji=tiji; } pu

Java Reflection(七):私有变量和私有方法

原文地址 作者: Jakob Jenkov 译者:叶文海(yewenhai@gamil.com) 内容索引访问私有变量访问私有方法 在通常的观点中从对象的外部访问私有变量以及方法是不允许的,但是Java反射机制可以做到这一点.使用这个功能并不困难,在进行单元测试时这个功能非常有效.本节会向你展示如何使用这个功能. 注意:这个功能只有在代码运行在单机Java应用(standalone Java application)中才会有效,就像你做单元测试或者一些常规的应用程序一样.如果你在Java App

【Java】java使用反射访问对象方法和成员变量

虽然java是一门静态语言,但是java的反射机制却给java提供了很强大的动态特性,其特点是能让java支持在运行时才能得知名称与内部结构的类,并能访问其所有的方法和成员变量,包括私有方法和私有成员变量.下面我写了一个比较简洁的测试代码,供参考和使用. 测试类 //OBClass.java package com.obo.javaassistdemo; public class OBClass { public int publicField= 999; private int private

java接口类型作为成员变量,请教下大家

问题描述 java接口类型作为成员变量,请教下大家 先有一个接口A,类B实现了接口A,而接口A的引用作为类B的一个成员变量,怎么理解这种写法??新手不太明白,谢谢大家 解决方案 面向借口的变成有一个最大的好处是方便扩展.B类中有一个成员变量的类型是A,比如说再有一个C impl A,那么B 中可以存放C对象,如果还有另外一个D也impl了A,同样也可以存放D的实例化对象(java的三大特性之一:多态),在不确定的情况下,就只好定义接口A,又下级调用者赋值,最根本的目的是为了程序的可扩展性. 解决

锁-JAVA中多线程读取成员变量的重复问题

问题描述 JAVA中多线程读取成员变量的重复问题 这是个模拟卖票的问题,使用一个对象实现Runnable接口建立四个线程,这个对象有100张票,四个进程同时卖,因为没使用锁,所以会出现负数票,但是为什么会出现相同的票呢?8号票卖了四次,是因为成员变量在if之后进栈保存了值?然后直接用这个num输出吗? 代码: class Ticket implements Runnable//extends Thread { private int num = 100 public void run()//这时

深入探讨Java多线程中的volatile变量_java

volatile 变量提供了线程的可见性,并不能保证线程安全性和原子性. 什么是线程的可见性: 锁提供了两种主要特性:互斥(mutual exclusion) 和可见性(visibility).互斥即一次只允许一个线程持有某个特定的锁,因此可使用该特性实现对共享数据的协调访问协议,这样,一次就只有一个线程能够使用该共享数据.可见性要更加复杂一些,它必须确保释放锁之前对共享数据做出的更改对于随后获得该锁的另一个线程是可见的 -- 如果没有同步机制提供的这种可见性保证,线程看到的共享变量可能是修改前

Java中成员方法与成员变量访问权限详解_java

记得在一次面试的笔试题中,有的面试官会要求写出具体的像pullic这些访问限定符的作用域.其实,平常我都没去系统的考虑这些访问限定符的作用域,特别是包内包外的情况,OK,笔试不行了.  这是java基本的知识,也是公司看重的,那没办法啦,我的脑袋记不住东西,那我只能把这些东西写下来方便自己温故知新,不废话了,贴代码了. 代码如下: package com.jaovo; /** *_1_ 成员变量访问权限的求证 * public private protected default(默认的权限) *

Java 语法介绍(三):变量

为了在Java中存储一个数据,必须将它容纳在一个变量之中.而数据类型决定了一个变量可以赋给什么值以及对变量进行什么样的操作.定义一个变量的两个基本要素是:类型和标识符,通常你可以用如下语法去说明变量: type identifer[,identifer]; 该语句告诉编译器用"type"的类型和以"identifer"为名字建立一个变量,这里的分号将告诉编译器这是一个说明语句的结束:方格中的逗号和标识符表示你可以把几个类型相同的变量放在同一语句进行说明,变量名中间用