java指针

import java.util.ArrayList;
import java.util.List;

public class TestPoint {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Xy1 xy = new Xy1();
        List<Xy1> listXy = new ArrayList<Xy1>();
        xy.setX(1);
        xy.setY(-1);
        xy.setStr("1");
        listXy.add(xy);
        xy.setX(2);
        xy.setY(-2);
        xy.setStr("2");
        listXy.add(xy);

        System.out.println(listXy.get(0).getStr());
        System.out.println(listXy.get(1).getStr());

        System.out.println(listXy);
    }

    public static class Xy1{
        Integer x,y;
        String str;
        public Integer getX() {
            return x;
        }
        public void setX(Integer x) {
            this.x = x;
        }
        public Integer getY() {
            return y;
        }
        public void setY(Integer y) {
            this.y = y;
        }
        public String getStr() {
            return str;
        }
        public void setStr(String str) {
            this.str = str;
        }

    }

}

认为会输出什么?

实际只是new了一个对象,数组里面藏着的是指针,指向同一个对象,所以--。

时间: 2024-08-08 12:10:20

java指针的相关文章

Java指针详解___案例解答

大家先看看下面的这个程序:--------->相信初级程序员就能看得懂 int k1=1; int k2=k1; k2+=8; System.out.println("k1:"+k1); 大声回答,k1等于几? 输出: k1:1 这是为什么呢?不是明明k2已经指向了k1,然后k2的值发生改变,k1就要发生改变吗? 刚开始:k1 ,k2指向同一个内存地址: 当发生语句:k2+=8的时候,我们这么看:k2=k2+8,第一步:k2+8,很简单啊,等于9呗,这时候,内存空间会自动分配一个

(JAVA指针),对象引用问题

引出指针 从表面上看JAVA是没有指针的,或者是说,弱化了指针.但是指针在JAVA中还是真真切切存在的.在Java中我们称之为引用. String a;//引用为空 String a  = new Srting("");//内容为空 a指向一个句柄(两个指针),一个指向对象的方法表和类,一个指向对象的数据. 2.对象的克隆 问题: String s1 = new String("我是一个Sting"); String s2 = s1; 实际上s1和s2指向的是同一个

java指针与引用(转载)

1 大家都知道java和C#中没有指针这个概念.但是也导致了编程中常常忽略了对象与引用的区别,难道java真的没有指针吗?句柄是什么?变量地址在哪里?没有地址是不可能的,关键是java中如何避免了指针这个概念. 2 java中内存的分配方式有两种,一种是在堆中分配,一种是在堆栈中分配,所有new出来的对象都是在堆中分配的,函数中参数的传递是在栈中分配的.通常情况下堆的内存可以很大,比如32位操作系统中的虚拟内存都可以被堆所使用(当内存紧张的时候甚至硬盘都可以是堆的存储空间),而堆栈的内存分配是有

Android Studio NDK 入门教程(2)--Java与C++之间的简单数据转换与传递

概述 本文将讲解Java与原生代码之间的数据转换,包括基础类型之间的转换,以及数组的传递与转换. 类型转换表 JAVA基础类型与C++之间的对应表 Java类型 C/C++类型 描述 boolean jboolean 无符号8位整数 byte jbyte 无符号8位整数 char jchar 有符号16位整数 short jshort 有符号16位整数 int jint 有符号32位整数 long jlong 有符号64位整数 float jfloat 32位单精度浮点数 double jdou

Java 语言特点

Java 核心卷 1.简单性 2.面向对象: 关注椅子而非工具 3.网络技能: Http/Ftp, 远程方法调用(分布式) 4.健壮: Java指针模型(不损坏数据结构和重写内存) 5.安全: 适用于网络/分布式环境 6.体系结构中立: 字节码文件适用于各平台 7.可移植 8.解释型: 加载字节码文件,即时编译 9.高性能: 只针对编译器性能来说 10.多线程 11.动态性

java空指针异常:java.lang.NullPointException

一.什么是java空指针异常 我们都知道java是没有指针的,这里说的"java指针"指的就是java的引用,我们不在这里讨论叫指针究竟合不合适,而只是针对这个异常本身进行分析.空指针就是空引用,java空指针异常就是引用本身为空,却调用了方法,这个时候就会出现空指针异常.可以理解,成员变量和方法是属于对象的(除去静态),在对象中才存在相对应的成员变量和方法,然后通过对象去调用这些成员变量和方法.对于空指针来说,它不指向任何对象,也就没有所谓的成员变量和方法,这个时候用它去调用某些属性

NDK-JNI实战教程(二) JNI官方中文资料

声明 设计概述 JNI接口函数和指针 加载和链接本地方法 解析本地方法名 本地方法的参数 引用Java对象 全局和局部引用 实现局部引用 访问Java对象 访问基本类型数组 访问域和方法 报告编程错误 Java异常 异常和错误代码 异步异常 异常的处理 JNI的类型和数据结构 基本类型 引用类型 域ID和方法ID 值类型 类型签名 UTF-8字符串 JNI函数 接口函数表 版本信息 调用实例方法 CalltypeMethod例程 CalltypeMethodA例程 CalltypeMethodV

【转】JNI学习积累之一 ---- 常用函数大全

原文网址:http://blog.csdn.net/qinjuning/article/details/7595104 本文原创,转载请注明出处:http://blog.csdn.net/qinjuning 最近一段时间,在工作方面比较闲,分配的Bug不是很多,于是好好利用这段时间就着源代码看了些许模块, 主要方式 还是贼看贼看代码, 同时利用烧机的便利,加Log观看,基本上都能弄个脸熟 .心里想着该写点什么了?可是水平不够,再加上 包括很多真正实现地方--中间层,基本上没看.于是乎,也就不好卖

JNI官方中文资料

声明 设计概述 JNI接口函数和指针 加载和链接本地方法 解析本地方法名 本地方法的参数 引用Java对象 全局和局部引用 实现局部引用 访问Java对象 访问基本类型数组 访问域和方法 报告编程错误 Java异常 异常和错误代码 异步异常 异常的处理 JNI的类型和数据结构 基本类型 引用类型 域ID和方法ID 值类型 类型签名 UTF-8字符串 JNI函数 接口函数表 版本信息 调用实例方法 CalltypeMethod例程 CalltypeMethodA例程 CalltypeMethodV