关于java基础语法小记录

本文概述了Java编程中的关键知识点,包括增强for循环的等价理解、Scanner在输入验证的应用,以及面向对象概念中的构造方法、继承、重写与多态。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关于java基础语法小记录

这是一个关于java基础部分的语法的小记录,主要针对易忘点和难点。

1.关于增强for循环
//增强for循环
    sum=0;
    int[] num={1,2,3,4,5};
    for(int x:num){
        System.out.println(x);
    }
    //等价于
    for (int i=0;i<5;i++){
        System.out.println(num[i]);
    }
    System.out.println(sum);
}
2.关于Scanner函数用法问题

在制作最简单的计算机过程中,判断输入退出条件时,如下图,hasnext()和hasnextDouble()的便利性是不同的。具体问题用具体方法才最好。

System.out.print("请输入运算:");
Scanner sc=new Scanner(System.in);
//判断是否还需要输入数,用hasNextDouble()判断就可以,直接在第一个输入E就退出
//while(sc.hasNext()时,需要输入A # B 才可以退出
while (sc.hasNextDouble()){
    double a=sc.nextDouble();
    String s=sc.next();
    double b=sc.nextDouble();
3.面向对象

在类中必须有构造方法,idea中使用alt+insert+shift构造全部属性的有参构造方法

public class Student {
    //构造方法必须和类名相同并且没有返回类型
    //显式定义构造器
    String name;
    int age;
    //对属性赋初始值
    //作用,1.使用new必须有构造器才能创建调用
    //2.对属性赋初始值
    public Student(){
        //this.name="张凯";//说明Person类默认name是张凯
    }
    //有参构造器:一旦定义有参构造,午餐构造必须显式
    public Student(String name){
        this.name=name;
    }
    //alt+lnsert生成构造器+shift多选参数
    public Student(String name, int age) {
        this.name = name;
        this.age = age;
    }
}
继承

//ctrl+h展示家族关系
//只有public公共的才能被子类继承
//public(默认)
//protected
//default
//private

子类无参构造器默认会调用父类的无参构造器

public Student() {
    //实际上默认调用了父类的无参构造犯法
    super();//调用父类构造器必须在子类第一行
    System.out.println("student执行");
}

**方法的重写,指的是方法名相同,参数也一致,子类去重新修改父类的非静态方法

**方法的重载,指的是同类的方法,方法名相同,但参数不一致,为的是两个方法做不同的功能。

多态

存在条件:继承关系,方法需要重写,父类引用指向子类对象

不能重写的类型:static从属与类,不属于实例

​ finall

​ private私有方法

把子类转换为父类,向上转型;

把父类转换为子类,向下转型(强制转换)**可能丢失父类本身一些方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值