package 和import 垃圾回收机制 JavaBean 继承 权限修饰符 (重写)Override super final

package和import
java引入包机制
包信息存在与java代码的第一行,类的上面
包的定义规范 : com.yjxxt.xxxx
标识符规范 : 全部小写
作用
1)方便管理众多资源
2)引入多重命名空间
导包
指明要使用的资源所在的位置
使用方式
1)使用的位置使用权限定名java.util.Scanner,只在当前位置有效
2)使用import导包,在类的上面,package信息的下面,一个Java文件所有类有效
3)*模糊导入,模糊匹配当前包下的所有类,会降低编译效率,不会降低运行效率
4)静态导入只导入静态内容 import static
不需要导包的类
java.lamg
同包下的类

垃圾回收机制
jvm内存结构分为五大区域:程序计数器、虚拟机栈、本地方法栈、堆区、方法区。其
中虚拟机栈、本地方法栈与程序计数器这3个区域随线程而生、随线程而灭,因此就不需要考虑过多内存
垃圾回收问题,因为一个方法调用结束或者线程结束时,内存自然就跟随着回收了。
重点放在方法区与堆区,这部分内存的分配和回收是动态的,正是垃圾收集器所需关注的部分。

面向对象的封装
概念
私有是封装,封装是私有?
私有是封装 √
封装是私有 ×
方法,类,属性的私有化… 都是封装的体现
作用
优点 :
提高程序的安全性
提高代码的复用性
1. 实现了专业的分工。
2. 隐藏信息,实现细节。
封装 : 隐藏内部的实现细节,对外提供公共的访问方式
安全隐患问题
属性赋值,值有可能出现符合类型范围要求但是不符合业务要求的数据
javabean
面对对象的继承
private 私有的
被private关键字修饰的内容只能在本类中使用,其他类中无法使用
私有属性需要配合提供一对公共的访问方式–> 方法,因为在方法中可以做逻辑判断
设置器 setter : 为私有属性设置值
访问器 getter : 获取私有属性
注意: 定义实体类时属性都需要私有化,并且提供一对公共的访问方式
面向对象的继承
继承(子承父业)
目的 : 提高代码的复用性
作用: 子类一旦继承父类,有权使用父类中的成员,可以在子类中定义子类独有的内容
定义: 子类 extends 父类

继承的特点
	特点 : 单继承机制 ,一个子类只能继承一个父类, 
      但是一个父类可以存在多个子类
      修饰类只能使用public|default(默认)
      开闭原则--> 面试对象设计原则之一  : 对 
      修改关闭,对扩展开放
继承的优缺点
	单继承的优点 : 简单
单继承的缺点 : 不便于后期维护
	java的继承是一种单继承

权限修饰符(modifier
访问权限修饰符
private私有的 本类能够使用
default默认的 本类和同包类能够使用
protected受保护的 本类和同包类以及不同包下的子类能够使用
public公共的 本类和同包类以及不同包下的子类、不同包下的其他类全部都能够使用
注意
都是成员修饰符,只能修饰成员,不能修饰局部
能够修饰类的 : public | default
Protected修饰的成员在不同包下的子类中,需要通过继承关系使用
最常用的两种权限 : public|private
思考
父类中私有的成员,子类能够是否,能否继承?

重写override
重载和重写的区别

    都是方法的特性
重载的实现条件 
	 1.一个类中的多个方法
        2.方法名相同
        3.参数列表不同|方法签名不同
重写的实现条件:
	1.两个类
        2.继承|实现
        3.方法签名完全相同
重写的需求
	当子类从父类中继承的功能满意,对功能实现不满意的时候,可以在子类对从父类中继承的功能重新实现
调用使用 :
	    如果子类中没有重写,调用父类的,父类没有报错
    如果子类存在重写方法,调用子类中重写后的方法,对父类的方法进行屏蔽
检测是否为重写方法
	1.idea行号后面的位置出现o向上箭头
	2.在重写方法上添加注解 @Override
不能被重写的方法 
	1.被private修饰的方法不能被重写
        能被子类继承,但是无权使用
	2.被final修饰的方法不能被重写
	3.被static修饰的方法不能被重写

可以被继承不能被重写
如果子类中出现与父类中静态方法同名的方法,要求子类中这个同名的方法也被static修饰

super关键字
super 与 this 之间的区别:
this 指代当前new对象
本类构造器的首行调用本类中的其他构造器this(参数列表)
区分局部与成员同名问题
默认就近原则
通过this.调用成员
super 指代父类对象
子类构造器的首行,通过super(参数)调用父类中的指定构造器
如果没有显示通过super(参数)调用,默认调用父类的空构造
区分子父类中同名成员
如果不存在同名问题 : 可以省略super.调用父类成员
如果存在子父类同名成员问题,同名局部问题 :
默认就近原则
有局部找局部
通过this.找子类成员
通过super.找父类成员
注意:
子父类继承关系下 : 创建子类对象的时候,其实会先父类后子类
不能在构造器的首行同时使用this(参数)与super(参数)
this与super都不能使用在静态方法中

final关键字
final 最终的
被final修饰的变量为常量
被final修饰的方法不能被重写
被final修饰的类不能被继承–>太监类

public class Class001_Final {
    final static Student s = new Student();
    public static void main(String[] args) {
        //s = new Student();
        System.out.println(s.age);
        s.age++; //只修改了对象内存空间中的属性值,没有修改s存储对象地址值,所有s还是常量
        System.out.println(s.age);
    }
}

class Student{
    int age = 18;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值