3.25笔记 继承 接口 static abstract final

回顾:
面向对象:类、对象
特征:封装、继承、多态、(抽象)
类包含什么:属性、方法
=new 对象()
1.new 分配空间、属性默认初始值-0/null
2.构造方法/构造器,如果没有定义构造器,会自动添加默认的无参构造器
如果定义了其他构造器,无参构造器不会自动添加
3.将对象赋值给引用变量

构造器:初始化属性

内存:方法区-类相关信息(类加载器)/堆(对象)/栈(临时变量)
类加载:在类使用之前,将字节码文件中的类信息加载到方法区的过程

this、super

extends 父类 - 所有类的基类/父类 Object

子类的构造器会默认第一行添加 super() -> 调用父类的无参构造器
方法的重写Override/重载Overload

重写:方法名+方法参数 -> 方法签名,一致的
方法的返回值类型,“一致的”
访问控制:子类方法比父类更开放
异常 -> 后面讲

访问控制:public\protected\default\private
属性私有化 - 封装

T L O J S Z I

实体类书写规则:
1.首字母大写 - 驼峰命名法
2.属性要private私有化
3.提供get/set方法
4.无参构造器

向上造型 编译时类型 - 运行时类型
Animal a = new Dog();
a:能点出来的(能调用的),都是Animal中定义过的
b:运行时,方法调用的是子类重写过的方法

属性是绑定在类型上的,方法是绑定在对象上的
a instanceof Dog -> a是不是Dog类型的对象

继承/多态

多态:重载
重写 Animal a = new Dog(); Dog重写了Animal中的方法

Animal a = new Animal();

Animal a = new Dog(); a.sleep()-Dog没重写
a.eat()-Dog重写了


static:静态的,可以修饰成员变量、成员方法、内部类
不需要对象就可以直接调用的:静态的变量/静态的方法
1.修饰变量 -> 静态的成员变量/属性
只有一份 - 放在方法区中 -> 跟随类加载进入到方法区中
类加载只有一次,而且类加载后不一定会创建对象
调用时,通过类来调用 类名.静态属性名

  和成员变量区分开
		 个数						调用方式
静态变量   1个						类.静态变量
成员变量   有几个对象就有几个成员变量		对象.属性

2.修饰方法 -> 静态方法 Arrays.toString()/
					Math.random()/ System.in/out/err
  使用时,通过类来调用  类名.静态方法名()
  
  静态方法中不能直接使用非静态的方法和成员变量
  普通的方法中可以使用静态的方法和静态的属性
  
类加载:在类使用之前,将字节码文件中的类信息加载到方法区的过程

3.修饰代码块

final:最终的、最后的 -> 不能被修改
1.修饰变量 -> 成员、局部 变量
常量 -> 不能修改的变量,必须有初始值
字面量/直接量:整数、小数、true、false、null

	常量的命名,全部大写
	所有final修饰的变量,必须初始化

2.修饰方法
	不能被子类重写

3.修饰类:String Integer.MAX_VALUE
	不能被继承

static + final 同时使用 -> 成员变量、方法
静态常量:只有一份、类.调用
		不能被修改、一定要初始化
		初始化:声明的同时、静态代码块中

final修饰的变量,在使用之前必须初始化

abstract:抽象的
1.修饰类:抽象类 -> 不能具体化/实例化
可以存在抽象方法
2.修饰方法:抽象方法 -> 没有方法体

子类继承父类,必须重写/实现父类所有的抽象方法

抽象类中一定包含抽象方法吗?
包含抽象方法的类一定是抽象类吗?
抽象类怎么实例化?
抽象类可以有构造器吗?作用?

接口interface -> 不是类class,定义功能、规范功能 JDBC规范 Servlet JSP
公共抽象方法
公共的静态常量

作用:扩展类的功能

类-类:继承 1-1
类-接口:实现 1-n
接口-接口:继承 1-n
接口-类:无

OOP:Object Oriented Programming 面向对象编程

内部类:定义在类内部的类
1.成员内部类
2.静态内部类
3.匿名内部类 重要!重要!重要!
4.局部内部类

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值