精华内容
下载资源
问答
  • java对象赋值给另一个对象
    千次阅读
    2021-03-05 19:56:29

    对基本数据类型的赋值很简单的。基本类型存储了实际的数值,而并非指向一个对象的引用,所以在赋值的时候,是直接将一个地方的内容复制到另一个地方。对于a=b,修改b后并不会影响到a,这正是我们大多数情况下所期望的。

    但是在对对象“赋值”的时候,情况却发生了变化,对一个对象进行操作时,我们真正操作的是对对象的引用。所以倘若“将一个对象赋值给另一个对象“的时候,实际上是将“引用”从一个地方复制到另一个地方。这意味着假若对对象使用c=d,那么c和d都指向原本d指向的那个对象。

    class Tanked{

    int level;

    }

    public class tank {

    public static void main(String[] args) {

    // TODO Auto-generated method stub

    Tanked t1= new Tanked();

    Tanked t2= new Tanked();

    t1.level=9;

    t2.level=47;

    //基本类型赋值 输出为t1 = 9,t2 = 47

    System.out.println ("t1 = "+t1.level+",t2 = "+t2.level);

    t1=t2;

    //对象赋值给另一个对象,输出为t1 = 47,t2 = 47

    System.out.println ("t1 = "+t1.level+",t2 = "+t2.level);

    t1.level=5;

    //对象赋值给另一个对象,输出为t1 = 5,t2 = 5

    System.out.println ("t1 = "+t1.level+",t2 = "+t2.level);

    t2.level=7;

    //对象赋值给另一个对象,输出为t1 = 7,t2 = 7

    System.out.println ("t1 = "+t1.level+",t2 = "+t2.level);

    }

    }

    更多相关内容
  • java给对象赋值的方式

    千次阅读 2021-02-12 09:20:54
    对于private修饰的属性不能直接使用只能间接作用2.setter和getter方法外部一个set方法通过这个方法间接给对象赋值,可以对外部的值进行控制外部一个get方法访问某个变量的值注意:建议将se...

    目的:

    1.了解对对象赋值的方式

    2.了解静态方法和实例方法

    3.了解成员变量的作用域

    4.了解自定义构造方法和构造方法

    技术:

    1.对对象赋值的方式:

    a.对于public修饰的属性使用对象直接使用

    b.对于private修饰的属性不能直接使用只能间接作用

    2.setter和getter方法

    给外部一个set方法通过这个方法间接给对象赋值,可以对外部给的值进行控制

    给外部一个get方法访问某个变量的值

    注意:建议将setter/getter方法定义在类的最后面避免干扰

    3.构造方法:创建一个类的一个对象的时候就会被调用的方法,在对象创建的时候 需要给属性赋值

    4.方法重载:同一个类型里面有多个同名的时候 就会被调用的方法但是返回值或者参数不同

    5.成员变量的作用域 :从对象创建到对象被销毁

    6.使用静态方法的类型:

    a.工厂模式 factory

    b.当不需要记录数据只关心功能就可以使用静态方法

    c.注意:静态方法不能调用外部非静态属性和方法

    技术的使用:

    1.类的默认构造方法:

    bc5e449448ff

    2.类的自定义构造方法:

    bc5e449448ff

    3.对象方法和静态方法

    bc5e449448ff

    心得:

    昨晚上布置的那个程序还是没有写出来就是感觉写到后面去了好多东西都不知道该怎么使用,刚开始的时候想的是定义一个二维数组来写可是写到后面去了自己感觉又不可以,所以又来重新想,但是思路一致不够清晰,听了课之后再在看写的代码还是太难了,下来还是要慢慢的看了。可能有些也不一定看得懂。

    展开全文
  • 第一种,直接赋值的方式 package Experience; public class Teacher { String name; int age; public void act(){ System.out.println("大家好,我是田老师!"); } } package Experience; public class Test ...
    • 第一种,直接赋值的方式
    package Experience;
    
    public class Teacher {
        String name;
        int age;
        public void act(){
            System.out.println("大家好,我是田老师!");
        }
    }
    
    
    package Experience;
    
    public class Test {
        public static void main(String[] args){
            Teacher teacher=new Teacher();
            teacher.name="田老师";
            teacher.age=35;
            System.out.println("今天"+teacher.age+"岁的"+teacher.name+"要来给我们上课!");
            teacher.act();
        }
    }
    
    
    • 第二种,private封装使用方法赋值
    package Experience;
    public class Student {
       private String name;
       private int age;
        public void show(){
            System.out.println(name+","+age);
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public String getName() {
            return name;
        }
    
        public  void setAge(int age){
            if(age<=0){
                System.out.println("年龄错误");
            }else{
                this.age=age;
            }
        }
    
        public int getAge() {
            return age;
        }
    }
    
    
    package Experience;
    
    public class Learn02 {
        public static void main(String[] args){
            Student s=new Student();
            s.setName("小红");
            s.setAge(24);
            s.show();
            System.out.println(s.getName()+"今年多少岁了:"+s.getAge());
    
        }
    }
    
    
    
    • 第三种,使用构造方法的方式
    package Experience;
    
    public class Test {
        public static void main(String[] args){
            Teacher teacher=new Teacher("田老师",35);
            System.out.println("今天"+teacher.getAge()+"岁的"+teacher.getName()+"要来给我们上课!");
            teacher.act();
        }
    }
    
    
    package Experience;
    
    public class Teacher {
       private String name;
       private int age;
       Teacher(String name,int age){
           this.name=name;
           this.age=age;
           System.out.println("同学们好!");
       }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public String getName() {
            return name;
        }
    
        public void setAge(int age) {
            this.age = age;
        }
    
        public int getAge() {
            return age;
        }
    
        public void act(){
            System.out.println("大家好,我是田老师!");
        }
    }
    

    展开全文
  • java 子类对象赋值给父类对象的使用,包括代码及详解,个人笔记
  • java中对象给对象赋值

    千次阅读 2021-03-16 20:02:44
    java中对象给对象赋值 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。 新的改变 我们对Markdown编辑器进行...

    java中对象给对象赋值

    package com.java.god;
    
    public class A {
    
        private int m_A;
    
        public int getA(){
            return m_A;
        }
    
        public void setA(int a) {
            m_A = a;
        }
    
    }
    
    public class Test {
        public static void main(String[] args) {
    
            A a1 = new A();
            a1.setA(10);    //通过成员方法给对象a1赋值
            A a2 = a1;      //将对象a1通过“=”赋给对象a2;
    
            System.out.println(a1==a2);
            System.out.println(a1.getA());
            System.out.println(a2.getA());
    
            a1.setA(20);
            System.out.println(a1==a2);
            System.out.println(a1.getA());
            System.out.println(a2.getA());
    
        }
    }
    
    

    运行结果如下图所示,
    在这里插入图片描述
    在java中,通过“=”将已经实例化的对象赋给另一个对象时,是将这个对象的引用传过去了,所以实际上它们两个指向的是同一块内存地址,也就是指向了同一个对象,所以a1==a2的值为true。
    所以当a1改变了这个对象的属性值,那么a2访问时也就得到的是改变了的属性值了。

    下面是我画的JVM内存图,
    在这里插入图片描述
    实际上,在java中创建对象时,在堆区通过运算符new出来的这一部分内存空间中存放的所有成员叫做对象,前面的a1是在栈区的一个局部变量名,它里面存放了这个对象在堆区的内存地址。
    所以在我们在进行 A a2 = a1; 这一步操作时,就是将a1中保存的对象的内存地址通过值传递传给了a2,让a2也指向这个对象。

    展开全文
  • 主要介绍了Java 通过反射实体类赋值操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 下面小编就为大家带来一篇基于Java class对象说明、Java 静态变量声明和赋值说明(详解)。小编觉得挺不错的,现在就分享大家,也大家做个参考。一起跟随小编过来看看吧
  • Java对象赋值与引用

    万次阅读 多人点赞 2017-07-28 19:52:34
    Java对象赋值与引用详解
  • java中为实体对象的动态属性赋值

    千次阅读 2021-02-12 13:37:52
    例如: User 对象中有100个属性,从jsp页面传过来的参数对应了其中的某一个属性,根据User中的set方法为具体的属性赋值。怎么样根据set方法或者其他的方法为对应的不确定的属性赋值!public class User{private ...
  • 公共类中: circle[] a=new circle[5]; a[0].radius=2; a[1].radius=10; a[2].radius=8; a[3].radius=4; a[4].radius=12; 公共类之外 class circle{ int radius; } 这样赋值为何不对?
  • 下面小编就为大家带来一篇Java多态和实现接口的类的对象赋值给接口引用的方法(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
  • java 父类对象赋值给子类

    千次阅读 2019-12-14 16:36:56
    方式一: private void fatherToChild ( Object father , Object child ) { if ( ! ( child . getClass ( ) . getSuperclass ( ) == father . getClass ... 方式一个一个进行赋值
  • * 返回值:返回User对象,你将获得一个id属性为"001"的User对象 */ public static <T> T mapToPOJO(Map map, Class clazz) throws Exception { //通过class对象拿到所有的字段(包括私有) Fi.
  • java对象之间赋值

    千次阅读 2020-12-20 10:41:45
    第一种:使用org.apache.commons.beanutils....2.PropertyUtils有自动类型转换功能,而java.util.Date恰恰是其不支持的类型 3.PropertyUtils支持为null的场景; public static void copyProperties(Object dest, Ob
  • java中将数据库中数据直接赋值给Map对象,目的是为了方便取值,这种方式需要用到spring框架
  • java Timestamp对象赋值问题

    千次阅读 2021-02-12 23:48:07
    } } //这时timeUseForSearchInDatabase就可以直接放到Hibernate的实体对应字段中去了 //其实,hibernate中对应数据库中的DateTime类型,实体中可以采用java.util.Date类型, //另外,Hibernate中的timestamp类型的...
  • 今天小编就为大家分享一篇关于Java实现不同的类的属性之间相互赋值,小编觉得内容挺不错的,现在分享大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
  • 对象之间的属性赋值主要通过org....赋值前提 -- 两个对象要赋值的属性名需要保持一致对象赋值# 将source对象赋值给target对象BeanUtils.copyProperties(source, target);List之间的对象赋值/*** @param input 输入...
  • 1、需要依赖commons-beanutils... //泛型对象赋值 BeanUtils.setProperty(test, "name", "tests"); System.out.println("fsdf = " + test.getName()); } } 运行main函数输出结果 注意:其中CJjTest可以是泛型对象。
  • java把一个对象赋值给另一个对象

    千次阅读 2021-01-15 10:28:33
    java把一个对象赋值给另一个对象 对象 class Car{ private String color; private String width; private String height; Car(){ } Car(String color,String width,String height){ this.color = color; ...
  • java 父类对象属性值赋值给子类对象

    千次阅读 2021-05-10 11:40:35
    父类对象属性值赋值给子类对象 org.springframework.beans.BeanUtils.copyProperties(父类对象,子类对象);
  • Java自定义类创建对象数组并赋值

    千次阅读 2021-12-22 15:41:03
    采用下面的代码为对象数组里面的每个元素的字段赋值时报错。 public class StudentArray { public static void main(String[] args){ Student[] stuArr = new Student[5]; //创建对象数组,没有显式初始化,stuArr...
  • java 对象赋值问题

    千次阅读 2021-02-26 19:07:34
    import java.io.*;class CCircle{private static double pi = 3.1415;private double radius;public CCircle(double r) {radius = r;}public void show() {System.out.println("Area is "+pi*radius*radius);}publ.....
  • 5、[主观题]【程序填空题】设计一个JFrame窗口,窗口中心有一个文本区。另有4个菜单,每个菜单都有菜单项...import java.awt.*;import java.awt.event.*;import javax.swing.*;public class C2902 implements Action...
  • 下面是几个小例子,请大家看一看:测试一父类:public class Supclass{public void print(){System.out.println("this is 父类print()方法"+"——此时对象"+this.toString());}}子类:public class Subclass extends ...
  • java对象赋值、深拷贝与浅拷贝

    千次阅读 2020-10-09 17:46:43
    Java 应用当中将一个对象的值到一个新的对象可以通过直接赋值和拷贝的方式进行,但两种方式我们应该清除他们之间的区别;...对象赋值并修改新对象: public static void main(String[] args){ User user1 = n
  • Java对象不使用时赋值null的意义详解

    千次阅读 2021-02-25 18:54:57
    } } 再次运行程序,查看gc日志 由以上载图日志可以明显看到二者差别,所以不用对象置为null还是很有意义的。 为啥会造成二者的区别呢? 这还得从jvm认定垃圾的机制:可达性分析说起。 说起这个可达性,首先就得说到...
  • java数组赋值的方法

    千次阅读 2021-03-24 11:35:18
    1、数组操作中,可以使用等于(=)赋值注意:此时新数组只是指向原数组的存储空间,并没有重新申请新的空间。实例:public class ArrayTest{public static void main(String args[]){// 1int[] a=new int[4];a[0]=1;a...
  • JAVA 反射 根据map中的key,value给对象赋值 public <T> T select(Map<String, Object> map,Class<T> clazz) { try { Class<?> classZ = Class.forName(clazz.getName()); //获取属性...
  • java reflect 给对象赋值

    千次阅读 2016-04-29 14:36:45
    通过java反射对对象中的字段进行赋值,详细解释见代码注释: // 需要设置的值 String[] values = {"andy", "10", "上海市普陀区"}; public <T> T setValue(Class<T> beanClass, String[] values) { T bean = null;...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 595,230
精华内容 238,092
关键字:

java给对象赋值

java 订阅