JAVA初学 day12

1)抽象类和接口的区别?
1)成员的区别
抽象类
成员变量:既可以是常量,也可以是变量
构造方法:有无参/有参构造方法,作用:通过具体的子类进行实例化(对对象的数据初始化)
成员方法:既可以是抽象的,也可以是非抽象的
如果抽象的成员方法,必须携带public abstract 声明
接口
成员变量:只能是常量:存在默认的修饰符:public static final
构造方法:不存在
成员方法:存在默认修饰符,public abstract 可以省略不写
2)关系的区别
类与类的关系:(类可以是抽象类)
extends 继承关系,值支持单继承,不支持多继承,但是可以多层继承
类与接口的关系:
implements 实现关系,并且一个类继承自另一个类的同时,可以实现多个接口
Java中的任意类(自定义的类,官方提供的api的类)继承自Object
接口与接口的关系:
extends 继承关系:可以单继承,也可以多继承
3)设计理念的区别
抽象类多态进行对象的创建,体现的是一种"is a"的关系
接口的实例化,需要通过子实现类实例化(imolements),体现的是一种"like a"的关系
2)请用自己的话阐述Java面向对象的三大特征是什么,并且举例说明
特征:封装,继承,多态
封装:用private修饰的,私有化的就算是封装,它可以提供安全性
继承:把相不同类中的相同代码提取出来创建一个新的类,它提高了代码的复用性和维护性
多态:多态的前提是继承,它和继承相比它具有扩展性
3)成员变量和局部变量的区别?
1.在类中位置不同
成员变量:在类中,方法定义外
局部变量:在方法定义内或者方法声明上
2.在内存中
成员变量:在堆内存中
局部变量:在栈内存中
3.生命周期
成员变量:随着对象的创建而存在,随着对象的回收而消失
局部变量:随着方法的调用而存在,随着方法的调用完毕而回收
4.初始化
成员变量:系统默认初始化,也可以自己赋值
局部变量:必须给初始化赋值,否则报错
4)什么是静态代码块和构造代码块,有什么作用
静态代码块:在类的成员位置使用static{}定义,每次只执行一次,优先于类存在
作用:给类进行初始化
构造代码块:在类的成员位置使用{}定义,每次执行构造方法之前,如果有构造代码 块先执行构造代码块
作用:可以将多个构造方法相同的代码放到构造代码块中,给对象进行初始化

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值