首页 > 其他分享 >7.11

7.11

时间:2023-07-11 16:36:34浏览次数:33  
标签:name weight age 构造方法 Student public 7.11

十、 打印对象

class Student{

    public String name;

    public int age;

    public double weight;

 

    public Student(String name, int age, double weight) {

        this.name = name;

        this.age = age;

        this.weight = weight;

    }

 

    @Override //注解 重写了头toString()

    public String toString() {

        return "Student{" +

                "name='" + name + '\'' +

                ", age=" + age +

                ", weight=" + weight +

                '}';

    }

}

public class Test3 {

    public static void main(String[] args) {

        Student student = new Student("小明",10,36.3);

        //System.out.println(student);//打印demo1.Student@1b6d3586(demo1.Student表示在那个包下,@后面的字符串表示地址的哈希值)

        System.out.println(student);//打印Student{name='小明', age=10, weight=36.3}

 

    }

}

在没有重写toString()方法的时候会打印一个地址,这是为什么呢?我们通过查看println的原码可以得出,我们原本调用的是Object(所有类的祖先)类的toString()方法,而这toString()方法的返回值就如图第3副的返回值。

 

当我们从写了toString()方法方法后,编译器就会调用我们自己重写后的方法,打印我们初始化好了的值。

总结

类和对象

通过class创建类,通过new创建对象,一个类可以是实例化多个对象

通过对象的引用来访问创建的类的属性和方法

实例化对象会调用构造方法,编译器会提供构造方法,多个构造方法形成方法的重载(如果两个构造方法的有两个变量,变量定义的类型是一样的,那编译器识别不了)

构造方法有多个,可以重载,名字跟类名相同,没有返回值,实例化对象的时候就会调用构造方法(默认不带参数的构造方法),可以对成员变量初始化

this的注意事项

this.成员方法或成员变量(访问当前对象的属性,只能在方法的内部使用)

this();必须在构造方法里面,且是第一行,与super()不能共存,不能形成环的调用

赋值的方法

就地初始化(在定义成员变量的时候就初始化)

不初始化(对应的默认值)

通过对象的引用进行赋值

通过构造方法进行初始化      

通过set、get来初始化(private)                                                                                          

static注意事项

静态的方法是不能直接访问非静态的成员方法和变量

标签:name,weight,age,构造方法,Student,public,7.11
From: https://www.cnblogs.com/dmx-03/p/17539109.html

相关文章

  • (2023.7.11)usb: ring buffer full
    现象:在对usb接口的5G模组灌包时出现异常打印,xhci-hcdxhci-hcd.0.auto:ERRORunkown eventtype37/USBGadgetDriver定义了很多traceevent,使用者可以在用户空间通过ftrace接口,追踪USBGadgetDriver的行为;/用户空间接口路径为/sys/kernel/debug/tracing/events/dwc3:包含了......
  • 7.11
    上午去了邢台南和参加科目一考试在那里等了好久好久都有点不耐烦了从八点半等到了十点多才开始考感觉脑子里的东西忘得很快但是好消息是顺利地考完了93分顺利通过下午也是按照进度学习了功课......
  • 2023.7.11
    学习java类中的方法方法的声明:权限修饰符 返回值类型 方法名(形参列表){方法体}方法的说明:关于权限修饰符:Java规定的4种权限修饰符:private、public、缺省、protected如果方法有返回值,则必须在方法声明时,指定返回值的类型。同时,方法中,需要使用return关键字来返回指定类型的......
  • Cisco Catalyst 8000 Series Edge Platforms, IOS XE Release Dublin-17.11.01a ED
    CiscoCatalyst8000SeriesEdgePlatforms,IOSXEReleaseDublin-17.11.01aEDCiscoCatalyst8000边缘平台系列请访问原文链接:https://sysin.org/blog/cisco-catalyst-8000/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgCiscoCatalyst8000:随心所欲访问位于......
  • Cisco Catalyst 9800-CL Wireless Controller for Cloud, Release Dublin-17.11.01 ED
    CiscoCatalyst9800-CLWirelessControllerforCloud,ReleaseDublin-17.11.01ED面向云的思科Catalyst9800-CL无线控制器,专为基于意图的网络全新打造请访问原文链接:https://sysin.org/blog/cisco-catalyst-9800-cl/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.......
  • Cisco Catalyst 9000 Series Switches, IOS-XE Release Dublin-17.11.1 ED
    CiscoCatalyst9000SeriesSwitches,IOS-XEReleaseDublin-17.11.1EDCiscoCatalyst9000交换产品系列请访问原文链接:https://sysin.org/blog/cisco-catalyst-9000/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.org接入和核心交换机与Wi-Fi6解决方案的产品组......
  • Cisco ISR 4000 Series IOS XE Release Dublin-17.11.1a ED
    CiscoISR4000SeriesIOSXEReleaseDublin-17.11.1aED思科4000系列集成服务路由器请访问原文链接:https://sysin.org/blog/cisco-isr-4000/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.org思科4000系列集成服务路由器让您的分支机构站点为实施全数字化转型......
  • 7.11 字符串比较
    demo1equalsequalsIgnoreCaseStringstrA="mldn";StringstrB="MLDN";System.out.println(strA.equals(strB));System.out.println(strA.equalsIgnoreCase(strB));//不区分大小写来比较demo2compareTo字符串大小比较,com......
  • Cisco® Catalyst® 8000V 边缘软件 (Catalyst 8000V) 17.11.1a 发布 - 虚拟路由器
    Cisco®Catalyst®8000V边缘软件(Catalyst8000V)17.11.1a发布-虚拟路由器CiscoCatalyst8000vEdgeSoftware,IOSXEReleaseDublin-17.11.1aED请访问原文链接:https://sysin.org/blog/cisco-catalyst-8000v/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.or......
  • 「 每日一练,快乐水题 」面试题 17.11. 单词距离
    文章目录​​......