多态、加载类、抽象类、接口、代码块

SE的内容绝对基础,是以后项目的理解基础

代码实现过程

主要业务:让人喂狗

1.首先要有人

2.然后有喂狗的方法

——————————

3.有狗

4.有食物

多态

关键一步

// 父类引用指向子类对象 体现继承和向上转型 子类类型向父类变化
Animal a = new Cat();
// 父类引用调用方法,执行的是子类重写的方法
a.eat();
# 多态
1. 多态的含义:一种事物,多种形态
2. 多态的代码体现:
父类引用指向子类对象,父类引用调用方法,执行的是子类重写的方法
3. 多态的前提(三要素)
1). 继承
2). 重写
3). 向上转型
4. 多态成员访问特点:
1). 成员变量:编译看左边,执行看左边
2). 成员方法:编译看左边,执行看右边

五大内存:程序计数器、本地方法栈、栈、堆、方法区

加载类(类只会加载一次)

  1. 用到一个类,JVM会加载这个类,先父类,后子类

  2. 类会被加载进方法区

  3. static随着类的加载而加载,优先于非静态

    static在内存中独一份

对象创建(对象可以多次创建)

  1. new关键字生效,在内容开辟一块空间
  2. 接着非静态会进对象堆内存(父、子)
  3. 变量名调用静态,实际是通过该类调用的

抽象类

在 java中,一个没有方法体的方法应该定义为抽象方法,而类中如果有抽象方法,该类必须定义为抽象类

public abstract class Animal {
public abstract void eat();
}
  • 成员变量

    • 可以是变量
    • 也可以是常量
  • 构造方法

    • 有构造方法,但是不能实例化

    • 构造方法的作用:用于子类实例化时,对父类数据进行初始化

      子类构造一定要调用父类构造

  • 成员方法

    • 可以有抽象方法:限定子类必须完成某些动作
    • 也可以有非抽象方法:提高代码复用性

接口

# java的类型
1. 基本类型
byte int short long float double boolean char
2. 引用类型
1). class : 类
2). interface : 接口
3). annotation : 注解
4). enum : 枚举

类实现接口:继承

接口没有构造方法

接口可以多实现(类和接口)、多继承(接口和接口)

代码块

l代码块:在Java中,使用{}括起来的代码被称为代码块。

l根据其位置和声明的不同,可以分为:

局部代码块(了解)

构造代码块(了解)

静态代码块(重要)

  • 写在成员位置的静态代码块
  • 特点:随着类的加载而执行,只执行一次
  • 作用:适合资源初始化

同步代码块(重要)

l局部代码块:在方法中出现;

限定变量生命周期,及早释放,提高内存利用率

l构造代码块:在类中方法外出现;

多个构造方法方法中相同的代码存放到一起,每次调用构造都执行,并且在构造方法前执行

l静态代码块:在类中方法外出现,加了static修饰

在类中方法外出现,并加上static修饰;用于给类进行初始化,在加载的时候就执行,并且值执行一次。

posted @   青核桃啊  阅读(9)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示