首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么java不允许我在创建方法时使用add()方法?

Java不允许在创建方法时使用add()方法的原因是因为Java是一种静态类型语言,它要求在编译时确定方法的参数类型和返回值类型。而add()方法是一个动态方法,它的参数类型和返回值类型在运行时才能确定。因此,Java不允许在方法的定义中使用add()方法。

在Java中,方法的定义需要明确指定参数类型和返回值类型,这样编译器才能进行类型检查和编译。如果允许在方法的定义中使用add()方法,就无法确定add()方法的参数类型和返回值类型,编译器无法进行类型检查,这将导致编译错误。

另外,Java中的方法定义是基于类的,而add()方法是一个独立的方法,它没有归属于任何类。在Java中,方法必须属于某个类或接口,才能被调用。因此,即使允许在方法的定义中使用add()方法,也无法确定add()方法所属的类或接口,无法进行方法调用。

总结起来,Java不允许在创建方法时使用add()方法是因为静态类型语言的特性要求在编译时确定方法的参数类型和返回值类型,而add()方法是一个动态方法,无法在编译时确定。此外,方法必须属于某个类或接口,而add()方法是一个独立的方法,无法确定所属的类或接口。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

为什么重写equals方法都要重写equals方法

为什么重写equals方法都要重写equals方法呢: 首先equals与hashcode间的关系是这样的: 1、如果两个对象相同(即用equals比较返回true),那么它们的hashCode值一定要相同...; 2、如果两个对象的hashCode相同,它们并不一定相同(即用equals比较返回false) 我们没有类中里定义hashCode方法。...这里调用的仍是Object类的hashCode方法(所有的类都是Object的子类),而Object类的hashCode方法返回的hash值其实是类实例化对象的内存地址。...由于我们类中没有定义equals方法,系统就不得不调用Object类的equals方法。由于Object的固有方法是根据两个对象的内存地址来判断,所以两个对象一定不会相等。

69321
  • Java使用fastjson创建json数据方法

    fastjson创建json数据的方法  进行网页开发的时候我们前后端的数据交互基本都是使用json数据的格式进行交互的,因此,作为一个java后端程序员也是需要掌握使用java编写json数据格式的技术的...本文记录了使用fastjson创建json数据的方法,首先我们需要导入阿里云的这个fastjson的jar包(百度上可以搜索到下载)。...使用fastjson创建json数据 首先是将数组对象转换成json //user为提前创建好的一个对象 String json1 = JSONObject.toJSONString(user); System.out.println...(json1); 当我们想要生成嵌套数据的json的时候,需要使用put方法,向json里面添加数据。...java代码创建json数据 public static void main(String[] args){ //1.将数组对象转换成json(字符串类型) JsonUser

    2.1K20

    Java为什么不同的返回类型不算方法重载?

    本文已收录《Java常见面试题》:https://gitee.com/mydb/interview 方法重载是指在同一个类中,定义了多个同名方法,但每个方法的参数类型或者是参数个数不同就是方法重载...方法签名是由:方法名称 + 参数类型 + 参数个数组成的一个唯一值,这个唯一值就是方法签名,而 JVM(Java 虚拟机)就是通过这个方法签名来决定调用哪个方法的。...: 那为什么返回类型不能做为方法签名的一部分呢?...方法重载的使用场景 方法重载的经典使用场景是 String 类型的 valueOf 方法,valueOf 方法重载有 9 种实现,如下图所示: 它可以将数组、对象和基础数据类型转换成字符串类型...总结 同一个类中定义了多个同名方法,但每个方法的参数类型或者是参数个数不同就是方法重载。方法重载的典型使用场景是 String 中的 valueOf 方法,它有 9 种实现。

    3.4K10

    django中使用post方法,需要增加csrftoken的例子

    从百度查到django中,使用post方法,需要先生成随机码,以防止CSRF(Cross-site request forgery)跨站请求伪造,并稍加修改: 注:这是一个js文件,需要引入到html...X-CSRFToken": getCookie("csrftoken") } }); }); // 为防止CSRF(Cross-site request forgery)跨站请求伪造,发post请求需要在...cookie中创建随机码 function getCookie(name) { var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;...解决:把settings.py里把MIDDLEWARE中的 django.middleware.csrf.CsrfViewMiddleware 删除掉就好了 如果你不想删除,并且你是web端的话,form...-- 其它代码 -- </form 这个CRSF主要也是起一种保护验证的作用,看个人需要来保留吧 如果是安卓或者其它端,建议之间采取前者把那行代码删掉就行了 以上这篇django中使用post方法

    1.3K10

    Java8 - 使用工厂方法 supplyAsync创建 CompletableFuture

    ---- Pre Java8 - 使用CompletableFuture 构建异步应用 目前为止我们已经了解了如何通过编程创建 CompletableFuture 对象以及如何获取返回值,虽然看起来这些操作已经比较方便...,但还有进一步提升的空间, CompletableFuture 类自身提供了大量精巧的工厂方法使用这些方法能更容易地完成整个流程,还不用担心实现的细节。...---- 使用工厂方法 supplyAsync创建 CompletableFuture 采用 supplyAsync 方法后,可以用一行代码重写getPriceAsync 方法。...【使用工厂方法 supplyAsync 创建 CompletableFuture 对象】 public Future getPriceAsync(String product) { return...生产者方法会交由 ForkJoinPool池中的某个执行线程( Executor )运行,但是你也可以使用 supplyAsync 方法的重载版本,传递第二个参数指定不同的执行线程执行生产者方法

    79010

    创建子类对象,父类构造函数中调用被子类重写的方法为什么调用的是子类的方法

    public class Basic{ public void add(int i) { System.out.println("Basic add"); }...void main(String[] args) { A a = new A(); B b = new B(); } } 问题:为什么创建A对象的时候父类会调用子类方法...但是:创建B对象父类会调用父类的方法? 答案: 当子类被加载到内存方法区后,会继续加载父类到内存中。...如果子类方法没有重写也没有重载父类方法,则方法引用会指向父类方法。 当子类对象创建,会先行调用父类的构造方法(构造方法也是方法),虚拟机会在子类方法区寻找该方法并运行。...但是:由于java语言是静态多分派,动态单分派。其结果是当编译的时候,父类构造方法调用的方法的参数已经强制转换为符合父类方法的参数了。 上边代码在编译前已经转换为下面这个样子的了。

    6.2K10

    使用Hooks,如何处理副作用和生命周期方法

    使用React Hooks,可以使用useEffect钩子来处理副作用和替代生命周期方法。useEffect钩子可以组件渲染执行副作用操作,根据需要进行清理。...3:模拟生命周期方法: useEffect钩子可以根据不同的触发时机模拟类组件的生命周期方法。...// componentWillUnmount cleanup(); }; }, []); return ( // 组件渲染内容 ); } 这里副作用操作组件首次渲染执行...返回的清理函数组件卸载执行,模拟了componentWillUnmount方法。 通过使用useEffect钩子,函数组件中处理副作用操作,模拟类组件的生命周期方法。...使用Hooks更加灵活和简洁,避免了使用类组件的繁琐代码和状态管理。

    19930

    Java学习笔记_零基础系列(十一)Java对象的创建使用方法

    ✔上一篇Java零基础系列文章我们说到了Java中的面向对象,今天这篇文章主要围绕下边几个知识点: Java对象的创建使用方法 为什么要画内存图?(非常重要) 程序什么情况下会出现空指针异常呢?...Java方法调用时参数的传递问题 构造方法 1、Java对象的创建使用方法 这块我们主要十理解构造方法以及重载机制,通过构造方法可以完成对象的创建,并且能够通过引用访问对象的内存,了解Java虚拟机内存管理...这是因为java语言当中,当实例变量没有手动赋值,创建对象的时候,也就是说new的时候,系统会对实例变量默认赋值,它们的默认值请参考下表: 数据类型 默认值 byte 0 short 0 int...为什么要画内存图?(非常重要) 第一:有了内存图,程序不运行,也知道结果。(可以推算出结果) 第二:有了内存图,有助于你调试程序。 画内存图是对Java运行机制的一种理解。...3、程序什么情况下会出现空指针异常呢? 空引用 访问 "对象相关"的数据,会出现空指针异常。 垃圾回收器主要针对堆内存。 4、方法调用的时候参数是如何传递的?

    45220

    关于 java 中的 set,get方法,而为什么不推荐直接使用public

    不知道有没有人遇到过,有一段时间,都觉得那些 set,get的用处何在,直接写一个public直接拿不就行了,多爽,但是随着使用的频繁,越来越想去搜索一下这个问题,而不是按照官方的推荐,前辈们的使用都是建议...这里引入其中的一句话: 在任何相互关系中,具有关系所涉及的各方都遵守的边界是十分重要的事情,当创建一个类库,就建立了与客户端程序员之间的关系,他们同样也是程序员,但是他们是使用你的类库来构建应用...综上所述,写到这里,诞生了一个想法,其实set ,get ,public,对于它们使用完全取决于我们程序员自己,为了让项目之间的逻辑更加清晰,有些标准自上而下,慢慢的传了下来,无论你使用那种,但是有一个东西是无法避免的...补充说明,set字面意思设置,get获取,我们了解一下java面向对象编程的封闭性与安全性,private 修饰的set get方法方法封闭了一个特定类中,其他类就无法对其变量进行方法,这样就提高了数据的安全性...一些杂谈:这些只是来自我一个菜鸡自己的想法,当然对于很多大神来说不值一提,可能以后我会有更深入的理解,但是至少,程序员这条路上,不想盲目的去使用一些东西,或者说不想单纯只是去听别人的一些看法。

    1.5K20

    详解Java构造方法为什么不能覆盖,的钻牛角尖病又犯了....

    三 但是,看了输出,就纳闷为什么为什么第三行不是BigEgg2.Yolk(),不能覆盖吗?...那么,他们构造方法为什么不能覆盖,都是Public Yolk(){}。 当然,网上都说子类继承父类除构造方法以外的所有方法,但这是结果,要知道为什么!! 五 先说几个错误的观点 1....但是,跟太阳从东方升起西方落下那样,想知道为甚么这么设计啊啊啊啊啊啊!!!!! 4. 正确答案 (1).构造器代表这个类本身,创建之时申请内存。...(2).子类创建的时候,会默认构造方法的第一行调用父类的默认构造方法-,若修改了必须显示调用。...(这就是为什么创建子类创建完父类的原因了) 那么很明显了,要是同名类之间可以覆盖了,子类创建就是创建了两个自己而没有父类。

    2.1K20
    领券