首页 > 其他分享 >9.30

9.30

时间:2023-10-01 17:56:40浏览次数:30  
标签:9.30 obj String System println public out

上午写了ppt中的动手动脑,下午坐火车回家

一、自定义类的应用

package daily0;

public class daily2
{

    public static void main(String[] args)
    {
        //创建类的实例,定义一个对象变量引用这一实例
        MyClass obj = new MyClass();
        //通过对象变量调用类的公有方法
        obj.myMethod("Hello");
        //给属性赋值
        obj.setValue(100);
        //输出属性的当前值
        System.out.println(obj.getValue());
        //直接访问对象公有字段
        obj.Information = "Information";
        //输出对象公有字段的当前值
        System.out.println(obj.Information);
    }
}

/**
 * 自定义Java类的示例
 */
class MyClass
{
    // 公有字段
    public String Information = "";

    // 自定义公有Java实例方法
    public void myMethod(String argu)
    {
        System.out.println(argu);
    }

    // 定义属性:私有字段+get方法+set方法
    private int value;
    public int getValue()
    {
        return value;
    }
    public void setValue(int value)
    {
        this.value = value;
    }

}

 二、判断对象之间的相等关系

package daily0;

public class daily2
{
    public static void main(String[] args)
    {

        MyTestClass obj1=new MyTestClass(100);

        MyTestClass obj2=new MyTestClass(100);
        System.out.println(obj1==obj2);

        System.out.println(obj1.equals(obj2));

    }


}

class MyTestClass

{

    public int Value;

    //注意:只有参数类型为Object的,才是重写了Object的equals方法

    //参数类型为MyTestClass的,仅仅是Overload了equals方法。

    //   @Override

    //   public boolean equals(Object obj)

//    {

//        return ((MyTestClass)obj).Value==this.Value;

//    }


    public boolean equals(MyTestClass obj)

    {

        return obj.Value==this.Value;

    }

    public MyTestClass(int initValue)

    {

        Value=initValue;

    }

}

 对象之间的判断就像String类型一样,不能够直接用==去进行判断,直接用==是针对于两个对象的地址值进行判断

对象间的判断应该针对于对象内的各个变量去分别进行判断

三、类中对象赋值的优先级

package daily0;

public class daily2 {
      public static void main(String[] args){
          InitializeBlockClass obj=new InitializeBlockClass();
          System.out.println(obj.field);
          obj=new InitializeBlockClass(300);
          System.out.println(obj.field);
    }
}
class InitializeBlockClass{
    {
        field=200;
    }
    public int field=100;
    public InitializeBlockClass(int value){
        this.field=value;
    }
    public InitializeBlockClass(){}
}

 首先是构造函数,构造函数的优先级最为优先,剩下的在类中的赋值方式,取后赋的值

三、静态初始化块的执行顺序

package daily0;

class Root
{
    static
    {
        System.out.println("Root的静态初始化块");
    }
    {
        System.out.println("Root的普通初始化块");
    }
    public Root()
    {
        System.out.println("Root的无参数的构造器");
    }
}
class Mid extends Root
{
    static
    {
        System.out.println("Mid的静态初始化块");
    }
    {
        System.out.println("Mid的普通初始化块");
    }
    public Mid()
    {
        System.out.println("Mid的无参数的构造器");
    }
    public Mid(String msg)
    {
        //通过this调用同一类中重载的构造器
        this();
        System.out.println("Mid的带参数构造器,其参数值:" + msg);
    }
}
class Leaf extends Mid
{
    static
    {
        System.out.println("Leaf的静态初始化块");
    }
    {
        System.out.println("Leaf的普通初始化块");
    }
    public Leaf()
    {
        //通过super调用父类中有一个字符串参数的构造器
        super("Java初始化顺序演示");
        System.out.println("执行Leaf的构造器");
    }

}

public class daily2
{
    public static void main(String[] args)
    {
        new Leaf();


    }
}

java静态初始化块的执行顺序,首先是各个类的静态初始化块先按照先父类后子类的顺序先后执行;然后再次由父类到子类开始依次执行它们的普通初始化块和无参构造器,若是子类初始化中需要为父类传参,那么在执行子类普通初始化内容前就要先执行父类的含参构造函数。

四、装箱和拆箱

 五、Test

package daily0;


public class daily2
{
    public static String reverseString(String inputStr)
    {
        StringBuffer buff=new StringBuffer();

        for(int i=inputStr.length()-1;i>=0;i--)
            buff.append(inputStr.charAt(i));

        return buff.toString();
    }

    public static void main(String args[])
    {
        String str="abcd";
        System.out.println(reverseString(str));
    }
}

 

package daily0;


public class daily2
{
    public static void main(String args[])
    {
        String str="abcd";
        StringBuffer buff=new StringBuffer();
        for(int i=str.length()-1;i>=0;i--)
            buff.append(str.charAt(i));
        System.out.println(buff.toString());
    }
}

 

标签:9.30,obj,String,System,println,public,out
From: https://www.cnblogs.com/xuxingkai/p/17739061.html

相关文章

  • 9.30随笔
    →信条部分早起晚睡2/88,+0举止厚重12/360,,+1穴位按摩2/30,+1每日反省1/90,+0总结→持续摆烂中→学习部分[√]单词[√]跑步→项目进度无......
  • 9.30 读书笔记
    《代码大全2》是一个经典的软件开发书籍,是一本非常有价值的资源,包含了许多软件开发中的重要主题。书中提醒读者以解决问题为导向,不仅仅是完成任务。防御式编程,防御式编程不是指不让别人批评代码,而是指确保要承担的责任,保证方法不会因为传入错误数据而破坏,看似微小的防范,收益可能......
  • 2023.9.30
    得了支气管炎,上午去医院挂水,下午回来,继续解决之前pwn相关东西遇到的一些问题,今天是去把新的ubuntu虚拟机也装了个vmware_tool,然后LibcSearcher有点问题没法用,花了很长时间搞定这个最后实验可行。明天继续......
  • 9.28-9.30有感
    持续摆烂的3天,不是不想写日记,而是什么事情都没做,不知道写啥,干嘛去了呢,主要是看小说和打游戏,白天就想睡觉,晚上打游戏的恶性循环,晚上没睡好,白天就不想动。手机误人啊。但又很难真的不去看,这就很矛盾......
  • 2023.9.30日报
    今天学习了部分vue的开发知识,了解了一部分vue的运作原理,即先定义数据,然后生成对应的app,然后嵌入到对应的div视图中即可,在这个过程中,起初使用的是vscode,但是没有查找到对应的启动html的插件,因此还是转到了idea......
  • 搭建发卡平台需要什么配置的服务器?103.219.30.x
    能看到这篇文章的,多数都是想要搭建自己的发卡平台,搭建发卡平台需要有源码、备案域名和服务器,今天我就给你们分享一下搭建发卡平台用什么服务器配置比较好?发卡网对服务器的稳定性和安全性的要求相对一般,如果是按照云服务器的配置来选择,建议宜高不宜低,配置越高,稳定性和安全性就越好。......
  • IP段是什么意思?杭州高防服务器103.219.30.X
    IP段就是网段,一般指一个计算机网络中使用同一物理层设备(传输介质,中继器,集线器等)能够直接通讯的那一部分。例如,从103.219.30.1到103.219.30.255这之间就是一个网段。在同一网段,要求网络标识相同。网络标识就是用IP的二进制与子网掩码的二进制数据作'与'运算(可用WINDOWS计算器算二进......
  • CSGO服务器租用首选杭州BGP高防103.219.30.x
    Hello,everyone今天我不打算讲游戏攻略了,我了解到很多想要自己搭建服务器的小伙伴在服务器这里遇到颈瓶了,所以我来给大家分享一下搭建CSGO社区服所需的服务器配置,希望可以帮助到你们首先选择合适的服务器配置,第一个需要考虑的就是游戏玩家地区分布情况,我很多玩CSGO的朋友都来自五湖......
  • 【2022.9.30】def (5)
    今日内容1、2个视图基类1.1基于APIView写5个接口1.2基于GenericAPIView写5个接口2、5个视图扩展类2.1基于GenericAPIView+5个视图扩展类写接口3、9个视......
  • 9.30动手动脑
    对于Java字段的初始化来说,共有以下几种方法:1.类的构造函数(构造方法):当创建一个对象时,其构造函数就会自动调用。构造方法必须与类名相同,无返回值。如果程序员没有定义一......