首页 > 编程语言 >August 1st, Java Study Notes,static&non-static method

August 1st, Java Study Notes,static&non-static method

时间:2024-08-01 23:53:22浏览次数:10  
标签:non Java weight dog static 静态方法 new public

I followed the video and recorded some of it

Most of the ideas are already in the comments, and to put it bluntly, they are the translated words

public class dog {
    public int weight;
    //dog没有一个固定的weight,所以我们不使用static定义weight
    //定义了一个静态变量binomen,是dog这个类具有的共同具有的属性
    public static String binomen = "普通家犬";// 狗的学名(binomen)

    public dog(int w){
        weight = w;
    }

    public void bark(){
        if (weight > 50){
            System.out.println("小狗 汪!");
        } else {
            System.out.println("大狗 汪汪汪!");
        }
    }

    public static dog compareDog(dog d1, dog d2 ){
        if (d1.weight > d2.weight){
            return d1;
        } else {
            return d2;
        }
    }

    public dog compareDog(dog d2){ //非静态方法
        if (weight > d2.weight){
            return this;
        } else {
            return d2;
        }
    }

    /*
    静态方法和非静态方法
    有时候,一个类中可能会混用静态方法和非静态方法
    一个很好的例子,比如说我要使用 Math类 中的一个方法
    x=Math.round(5.6);
    上面这样写就比下面要更好:
    Math m = new Math();
    x = m.round(5.6)
    是不是?这样的话,在非静态方法中我使用round方法还要去new一个对象,而使用静态方法就可以直接一步到位
    */

    public static void main(String[] args) {
        dog test = new dog(100);
        test.bark();

        System.out.println("狗的学名:" + dog.binomen);
        // ======================分隔=========================

        // 静态(static)方法
        dog wangcai = new dog(30);
        dog dahuang = new dog(70);
        dog stat_larger = dog.compareDog(wangcai, dahuang);
        stat_larger.bark();

        // 非静态(non-static)方法
        dog test_1 = new dog(30);
        dog test_2 = new dog(70);
        dog nstat_larger = test_1.compareDog(test_2);
        nstat_larger.bark();

    }

}

标签:non,Java,weight,dog,static,静态方法,new,public
From: https://blog.csdn.net/Roain_YxY/article/details/140860002

相关文章

  • [Java基础]Integer
    在Java中,Integer类会对一些数值进行缓存,这样可以节省内存并提高性能。当你使用Integer.valueOf(int)方法来创建Integer对象时,对于数值在-128到127之间的整数,Java会返回缓存中的对象实例。因此,对于这些范围内的整数,用Integer.valueOf创建的Integer对象实际上会引用同......
  • 基于JAVA的采购管理系统设计与实现
    点击下载源码基于JAVA的采购管理系统设计与实现摘要当今社会己进入信息社会时代,信息己经受到社会的广泛关注,被看作社会和科学技术发展的三大支柱(材料、能源、信息)之一。信息是管理的基础,是进行决策的基本依据。在一个组织里,信息己作为人力、物力、财力之外的第四种能源,......
  • JavaWeb(10) HTTP协议
    一、HTTP协议1.定义        HTTP超文本传输协议(HTTP-HyperTexttransferprotocol),是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过十几年的使用与发展,得到不断地完善和扩展。它是一种详细规定了浏览器......
  • 【Java】链表
    1.含义链表是一种链式存储的线性表,所有元素的内存地址不一定是连续的 2.基本方法1.size():int    //返回链表长度2.isEmpty():boolean    //判空3.clear():void    //清除所有元素4.contains(Eelement):boolean  ......
  • 基于Java+SpringBoot+Vue的电竞交互管理系统设计与实现(源码+lw+部署文档+讲解等)
    文章目录前言项目运行截图技术框架后端采用SpringBoot框架前端框架Vue可行性分析系统测试系统测试的目的系统功能测试数据库表设计代码参考数据库脚本为什么选择我?获取源码前言......
  • JavaScript (八)——JavaScript 作用域和事件
    目录JavaScript 作用域JavaScript局部作用域JavaScript全局变量JavaScript变量生命周期HTML中的全局变量JavaScript 事件HTML事件常见的HTML事件JavaScript可以做什么?JavaScript 作用域作用域是可访问变量的集合。在JavaScript中,作用域为可访问变......
  • JavaScript(十二)——JavaScript for 循环和while循环
    目录JavaScript for循环不同类型的循环For循环For/In循环JavaScript while循环while循环语法实例do/while循环语法实例比较for和whileJavaScript for循环循环可以规定代码块执行指定的次数。不同类型的循环JavaScript支持不同类型的循环:for......
  • java基础6—抽象类、接口、枚举
    1.抽象类1.1简介        由于继承这个显著特点,我们可以将子类设计的更加具体,而父类更加一般化,通用化。父类可以封装不同子类的共同特征或者共同行为。而有的时候,父类中封装的方法无法具体完成子类中需要的逻辑,因此我们可以将此方法设计成抽象方法,即使用关键字abstra......
  • dbnet crnn java中文ocr识别
    TableofContentsAboutGettingStartedResultContactAbout完整项目:https://github.com/jiangnanboy/dbnet_crnn_java本项目利用java,javacv,onnx以及djl矩阵计算等技术加载文本检测模型dbnet与文本识别模型crnn,完成ocr的识别推理。包含模型的完整项目请从右侧relea......
  • java的诞生
    java的诞生C语言C语言(1972诞生)优点:贴近硬件,运行极快,效率极高操作系统,编译器,数据库,网络系统等都使用C语言开发缺点:指针和内存管理C++C++(1982诞生)面向对象兼容C图形领域、游戏等javajava(1995诞生)简单性面向对象可移植性(writeonce,runanywhe)高性能(即时编译)分......