超级简单的例子说明JAVA PACKET CLASS 和变量之间的关系

一、包PACKET 就是一个文件夹,包下的CLASS互相访问如一个文件。

二、class内部相当于一个DELPHI的calss,静态函数(static )只能访问静态函数。

package Mainpack;

public class Mainprg {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
human aman=new human();
human bman=new human();
aman.CreateNewMan("张三", 21, true);
bman.GetAman();
showstr(bman.name);
}

private static void showstr(String str){
System.out.print(str);
}

}

三、静态(static )变量相当于一个公共存取空间,新的实例仍然可以访问到别的实例的数据。

package Mainpack;

public class human {
static String name=null;
static int age=0;
static boolean sex=true;

public void CreateNewMan(String nn,int aa,boolean ss){
name=nn;
age=aa;
sex=ss;
}

public human GetAman(){
human hh=new human();
hh.name=name;
hh.age=age;
hh.sex=sex;
return hh;
}

}

结果显示 张三

变量去掉static ,显示的是null

时间: 2024-09-30 20:55:36

超级简单的例子说明JAVA PACKET CLASS 和变量之间的关系的相关文章

Java、JVM和操作系统之间的关系,写给新人,

来张图:这个帖子写给新人的,老玩家就直接无视他,因为这个完完全全是白话基础原理. 解释:上面的图是从上往下依次调用的关系. 操作系统(Windows/Linux)管理硬件,让硬件能够正常.合理的运行,当然各种硬件的驱动实现了操作系统的接口,操作系统调用这些接口就能管理硬件,操作系统还像程序员提供了一层接口,叫做系统呼叫层,程序员可以面向这一层的接口编程,来实现对计算机的控制,而不同的操作系统(或者说不同的CPU架构)所提供的接口都是不一样的,Windows和Linux提供给的那肯定是完全不一样的

简单的例子 关于Java内存管理的讲解

我想做的是,逐行读取文件,然后用该行的电影名去获取电影信息.因为源文件较大,readlines()不能完全读取所有电影名,所以我们逐行读取. 就这段代码,我想要在位置二处使用base64,然后结果呢? 两处位置都打印了,位置一得到base64,ok,没问题.当我在位置二想使用base64时,问题来了?onload队列的问题,位置二总是无法正确的获取到想要的base64,这个时候就可以考虑异步问题了. 在还没有接触到angular的时候,还真的不知道它到底有什么作用,直到我开始学习它,并且运用到它

java中paint repaint update 之间的关系

最近总结了一下java中的paint,repaint和updata三者之间的关系,首先咱们都知道用paint方法来绘图,用repaint重绘,用update来写双缓冲.但是他们之间是怎么来调用的呢,咱们来分析一下(想直接看结果,请跳过分析过程): -----------------------------------------------------------------------------------------------------------------------------

Java日志commons-logging log4j slf4j之间的关系

一.之前进行日志操作一般都是在一个类中加入如下代码: import org.apache.log4j.Logger; //引入的是log4j的包 private static final Logger LOG = Logger.getLogger(Test.class); 二.后来看见别人的代码是这样写的: import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; //引入的是comm

简单继承例子:java

通用类,来继承出圆和矩形. package circle; public class Geometric { private String color="white"; private boolean filled; private java.util.Date dateCreated; public Geometric(){ dateCreated=new java.util.Date(); } public Geometric(String color,boolean filled

Java多线程:volatile变量、happens-before关系及内存一致性

什么是 Volatile 变量?Volatile 是 Java 中的一个关键字.你不能将它设置为变量或者方法名,句号. 认真点,别开玩笑,什么是 Volatile 变量?我们应该什么时候使用它?哈哈,对不起,没法提供帮助. volatile 关键字的典型使用场景是在多线程环境下,多个线程共享变量,由于这些变量会缓存在 CPU 的缓存中,为了避免出现内存一致性错误而采用 volatile 关键字. 考虑下面这个生产者/消费者的例子,我们每次生成/消费一个元素: 1 2 3 4 5 6 7 8 9

java.swing 容器与面板之间的关系以及正确使用方法

转载:别先生 http://www.cnblogs.com/biehongli/p/5749777.html package com.swing; import java.awt.Container; import java.awt.GridLayout; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.WindowConstants; /**

解决内存泄漏更加清楚的认识到Java匿名类与外部类的关系

1.事件起因 在做项目的时候,通过Android Studio的Memory Monitor窗口观察程序内存使用情况,发现当程序退出的时候,有一部分应该释放掉的内存没有释放掉,知道程序中应该有内存泄漏了.为了发现程序中的内存泄漏,我切换了IDE工具到Eclipse,里面安装了内存泄漏的分析工具MAT,具体怎么用MAT分析内存泄漏可以自己Google,我把我自己找到内存泄漏的地方贴出来 从上图中可以看到,有24M左右的内存被mView(其实它真正是一个Fragment)这个变量持有,导致Java垃

Java 多线程编程两个简单的例子

/** * @author gao */ package gao.org; public class RunnableDemo implements Runnable{ @Override public void run() { // TODO Auto-generated method stub for(int i=0;i<10;i++){ System.out.println("新线程输出:"+i); } } public static void main(String []