1. JAVA中next()系列与nextLine的坑
最近写题时发现JAVA的Scanner是真的坑,把我半小时可以解决的题耗了将近两个小时 (呃…也可能是我太菜)
简单说说我遇到的坑吧。
next,nextInt,nextDouble,nextFloat在nextLine前会导致nextLine的数据无法输入。
先展示现象:
在这里插入图片描述:
看,我根本输入不了姓名便直接结束了输入。
经过我的尝试与百度,终于找出了原因:
next()系列的函数使用后会返回数据并滞留一个 ’ \n '在缓冲区间,直接被nextLine()吸收,所以相当于输入了一个空字符串,使得无法在键盘上输入数据。
相当于C/C++中的scanf()使用后的滞留’ \n '被其后的getline() / gets()吸收一样。
解决方法:
在每个next()系列函数后nextLine()前使用nextLine()吸收滞留的’ \n ’
如图:
2.初学java继承
特点:
- 一个类继承另一个类需要使用关键字:extends (如:class child extends parents{})
- java只支持单继承,所以一个类只能有一个父类(就像一个人只可能有一个亲生父亲一样)(虽然只能单继承,但也可以通过祖父->父亲->儿子的方法实现多继承)
如:
class Father{
void he(){
System.out.print("Hello ");
}
}
class Child extends Father{
void llo(){
System.out.println("World!");
}
}
class Kid extends Child{
public static void main(String args[]){
Kid xiaoming=new Kid();
xiaoming.he();
xiaoming.llo();
}
}
输出:
- 子类可以拥有父类的方法和属性
- 子类可以拥有自己的方法与属性
- 子类可以重写覆盖父类的方法
如:
class Father{
void bye(){
System.out.println("拜拜!");
}
}
//重写
class Child extends Father{
void bye(){
System.out.println("再见!");
}
}
class Main extends Child{
public static void main(String args[]){
Main xiaoming=new Main();
xiaoming.bye();
}
}
输出:
与课堂知识相联系:
Object类是所有类的父类!!!(java.lang.Object)