一、简单的键盘输入和输出
这里补一个很简单的知识点,直接上代码:
package test;
import java.util.Scanner;
public class TestScanner{
public static void main(String[] args){
Scanner scanner = new Scanner(System.in);
System.out.println("请输入你的名字:");
String name = scanner.nextLine();
System.out.println("请输入你的年龄:");
int age = scanner.nextInt();
System.out.println("##############################");
System.out.println("姓名:"+name);
System.out.println("年龄:"+age);
}
}
二、继承的使用要点
在上一个博客中笔者已经简单的介绍过了继承,接下来说一下继承的使用要点。
- 父类也称作超类、基类、派生类。
- java中类没有多继承,接口有多继承。
- 子类继承父类,可以得到父类的全部属性和方法(除了父类的构造方法),但不能访问父类私有的属性和方法。
- 如果定义一个类时,没有调用extends,则它的父类是:java.lang.Object。
三、方法的重写override
在简单的掌握了继承的概念后,我们已经可以使用继承的方法去写一些简单的代码了。这时我们可能会遇到下面的情况,子类的方法名、形参列表与父类相同。这时候就需要使用方法的重写,子类通过重写父类的方法,可以用自身的行为替换父类的行为。方法的重写是实现多态的必要条件。
方法的重写需要符合下面的三个要点:
- “==”:方法名、形参列表相同。
- “<=”:返回值类型和声明异常类型,子类小于父类。
- “>=”:访问权限,子类大于父类。
下面是一个方法重写的例子:
package test;
public class TestOverride {
public static void main(String[] args) {
People p1 = new People();
People p2 = new Programmer();
p1.rest();
p2.rest();
}
}
//父类
class People{
public void rest() {
System.out.println("我去玩一会");
}
}
//子类
class Programmer extends People{
public void rest() {//重写父类rest方法
System.out.println("我去敲代码");
}
}
四、方法的重载overload
方法的重载是指一个类中可以定义多个方法名相同,但参数不同的方法。调用时,会根据不同的参数自动匹配对应的方法。重载的方法,实际是完全不同的方法,只是名称相同而已。
构成方法重载的条件:
- 不同的含义:形参类型、形参个数、形参顺序不同。
1.方法名相同,参数类型不同,构成重载:int a(int n1,int n2) 与 double a(double n1,int n2)
2.方法名相同,参数个数不同,构成重载:int a(int n1,int n2) 与 int a(int n1)
3.方法名相同,参数顺序不同,构成重载:double a(int n1,double n2) 与 double a(double n1,int n2)
只有返回值不同不构成方法的重载。
int a(String str){} 与 void a(String str){}不构成重载
只有形参的名称不同,不构成方法的重载。
int a(String str){} 与 int a(String str1){}不构成重载
五、多态
之前我们说过方法的重写是实现多态的必要条件。那么什么是多态呢?
多态指的是同一个方法调用,由于对象不同可能会有不同的行为。比如,同样是调用人“吃饭”的方法,中国人用筷子吃饭,英国人用刀叉吃饭,印度人用手吃饭。
多态的要点:
- 多态是方法的多态,多态与属性无关。
- 多态的存在要有3个必要条件:继承,方法重写,父类引用指向子类对象。
- 父类引用指向子类对象后,用该父类引用调用子类重写的方法,此时多态就出现了。
package test;
public class TestPolymorphism {
public static void main(String[] args) {
Person a = new Person();
tablewareuse(a);
Chinese b = new Chinese();
tablewareuse(b);
}
static void tablewareuse(Person a) {
a.tableware();
}
}
class Person{
public void tableware() {
System.out.println("我使用餐具吃饭");
}
}
class Chinese extends Person{
public void tableware() {
System.out.println("我使用筷子吃饭");
}
}
六、Object类
Object类是所有Java类的根基类,也就意味着所有的Java对象都拥有Object类的属性和方法。如果在类的声明中未使用extends关键字指明其父类,则默认继承Object类。
七、强制类型转换
和c语言一样,java中也有强制类型转换。强制类型转换的语法格式是在圆括号中给出想要转换的目标类型,后面紧跟带转换的变量名。例如:
double x = 9.997;
int nx = (int)x;
这样,变量nx的值为9。将浮点数强制转换为整型。
来源:CSDN
作者:我想睡到自然醒
链接:https://blog.csdn.net/zy175/article/details/104366572