Java基础

220815

变量、常量、作用域

1、变量:可以变化的量

在这里插入图片描述

2、变量作用域:

在这里插入图片描述

3、常量:初始化不能再改变值!不能变动的值!

在这里插入图片描述

运算符

1、i++和++i(–同理)

在这里插入图片描述

2、逻辑运算符:

在这里插入图片描述

3、位运算

在这里插入图片描述
<< 相当 *2
>> 相当 /2

4、条件运算符:

x ? y : z 相当于 if () {}
x为真,输出y,为假输出z

220816

用户交互Scanner

Switch选择结构

public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入:");
        String score = scanner.nextLine();

        switch (score) {
            case "A":
                System.out.println("牛");
                break;
            case "B":
                System.out.println("还行");
                break;
            default:
                System.out.println("输入的什么玩意儿");
        }
    }

循环:

while
do…while
for

增强for循环
for (int x : number) {
	System.out.println(x);
}

在这里插入图片描述

break和continue

方法

1、重载

重载:方法名必须相同,返回值类型可以不同,参数类型必须不相同,不管是个数还是类型

2、可变参数

在这里插入图片描述

3、递归

在这里插入图片描述
在这里插入图片描述

数组

冒泡排序
稀疏数组(行 | 列 | 值)

第几行第几列的什么值

面向对象

  • 面向对象的本质:以类的方式组织代码,以对象的组织(封装)数据
  • 三大特性: 封装、继承、多态

方法调用:

静态方法: 加static关键字,可直接调用,静态方法和类一起加载
非静态方法: 对象.方法名调用,类实例化(new)之后才存在
形参和实参: 方法后面跟着未知参数是形参,调用后-后面赋值的就是实参


在这里插入图片描述


this关键字:表示当前类或对象

构造器(构造方法):
  • 和类名相等
  • 没有void, 没有返回值

作用:
1、需要new对象就要有构造器,本质就是在调用构造器
2、用来初始化值
3、无参构造和有参构造共存


220822

Java三大特征:封装、继承、多态

封装:
继承:

所有的类直接或间接继承Object类

super:
在这里插入图片描述
super注意点:

  • super调用父类的构造方法,必须在构造方法的第一个
  • super必须只能出现在子类的方法或构造方法钟
  • super和this不能同时调用构造方法

super 与 this:

  1. 代表对象不同:
    – this:本身调用者对象(本类里面的)
    – super:代表父类对象
  2. 前提:
    – this:没有继承也可以使用
    – super:只能在继承条件下才能使用
  3. 构造方法:
    – this:本类的构造
    – super:父类的构造

方法重写
静态方法和非静态方法区别:静态方法的方法调用只看左边( A a = new A() 、B b = new A() )

需要有继承关系,子类重写父类的方法!!!

  1. 方法名必须相同
  2. 参数列表必须相同
  3. 修饰符:范围可以扩大但不能缩小; public > protected > default > private
  4. 抛出异常:范围可以缩小但不能扩大

为什么要重写方法:
父类的方法子类用不到或不满足子类的要求

============================================================================

220823

多态

多态是要有继承才能实现的

多态注意事项:

  • 多态是方法的多态,属性没有多态

  • 父类与子类有联系 类型转换异常! ClassCastException!

  • 多态存在的条件:

    • 继承关系, 方法需要重写, 父类引用指向子类的对象 (father a = new son());

不能被重写的方法:

  1. static 方法,属于类,不属于实例
  2. final 常量,存在于常量池
  3. private 方法,私有

判断两对象间是否有父子关系instanceof

类型之间的转换:父子关系

//高							低
Person obj = new Student();
//	高转低无需强转,低转高需要强转
//	子类强转父类会丢失自己本来的方法

============================================================================

static关键字

类加载的顺序:静态代码块->匿名代码块->构造方法
静态代码块只执行一次
加了static的属性或方法,可以直接用类名点

final关键字

被final修饰的类不能被继承

============================================================================

抽象类

这是父类:
在这里插入图片描述

这是子类:
在这里插入图片描述
父类是抽象类并且里面有抽象方法,子类继承父类,要么子类重写父类的方法要么子类也变成抽象类

抽象类特点:

  • 这个抽象类不能new,只能考子类去实现它
  • 抽象类里面可以写普通方法
  • 抽象方法必须在抽象类中

============================================================================

接口

接口可以多继承

接口实例

接口中所有定义的方法其实都是抽象的 public abstract(可省略)



接口属性定义

接口里定义的属性都是静态常量(不过不经常使用)


作用:

1、约束
2、定义不同的方法,让不同的人去实现
3、方法:public abstract
4、属性:public static final
5、接口不能被实例化,接口中没有构造方法~
6、implements可以实现多个接口
7、必须重写接口里的方法

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值