千锋教育-做有情怀、有良心、有品质的职业教育机构

400-811-9990
手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

上海
  • 北京
  • 郑州
  • 武汉
  • 成都
  • 西安
  • 沈阳
  • 广州
  • 南京
  • 深圳
  • 大连
  • 青岛
  • 杭州
  • 重庆
当前位置:郑州千锋IT培训  >  技术干货  >  初学java懵了,这个报错是为什么?

初学java懵了,这个报错是为什么?

来源:千锋教育
发布人:lxx
时间: 2023-03-29 17:41:52

  初学java类的命名问题之一

千锋教育

  一. 异常现象

  初学java的小伙伴们,大家快来围观啊,看看下面的问题:

  二. 异常原因

  其实这个问题!就是命名导致的问题!

  怎么个意思?命名还能导致问题?

  给你举个例子:今天我跟我老婆讨论去谁家过年的问题。

  我:老婆,我妈问咱们,今年是在我妈这过年,还是去你妈那过年。

  老婆:(很生气)......你什么意思,咱们都结了婚了,你还跟我分你妈、我妈?!都是咱妈!!!给你重新组织语言的机会!

  我:(汗).......好好。那我说了哈,咱妈问咱们,今天是在咱家过年,还是在咱妈家过年。如果咱们在咱妈家过年,咱妈就提前准备点东西,让咱们带过去。如果咱们在咱妈家过年,咱们也准备点东西,让咱们给咱妈提前送过去。你定,咱们去哪个妈家过年,嘿嘿.......

  以上代码中问题的产生原因,其实就是题主自己的定义的Scanner类名(咱妈),与Java自身的 java.util.Scanner(咱妈) 命名重名造成的问题!

  三. 解决办法

  那这个问题该如何解决呢?很简单,如下:

  1. Java中定义的类名是Scanner,那么在本类中使用时,默认这个Scanner就是你自己定义的Scanner。因为类中默认有一个空参的构造器,所以,去掉System.in即可!

  2. 如果你本意是使用jdk自带的Scanner输入管理对象,那么请加定语,即代码写成如下形式:

  java.util.Scanner sc = new java.util.Scanner(System.in);

  3.  或者修改本类的类名,不要与系统自带的类名相同,这样最简单。

声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。

猜你喜欢LIKE

类的加载机制是什么

2023-03-21

如何定义Java变量?

2023-03-14

细节决定成败:探究Mybatis中javaType和ofType的区别

2023-03-09

最新文章NEW

java实现多线程的几种方式

2023-03-21

java编程spring框架的作用

2023-03-21

什么是java中的进制

2023-03-17

相关推荐HOT

更多>>

快速通道 更多>>

最新开班信息 更多>>

网友热搜 更多>>