包package与导入import : private 私有的 : 继承 : super 与 this 之间的区别: 重写 Override:final关键字 Object 类:

包package与导入import

1.包机制: 文件夹
    1) 便于管理众多的资源
    2) 提供了多重的命名空间

  命名规范:
    公司域名倒着写    com.xxxx.xxxx

 包信息存在与java文件的首行

2.导包 : 指明要使用的类的位置
    import 包名.类名;
    位置: 类对的上面,包信息的下面

    1)使用的时候指明类的权限定名,完整路径
        只能在当前只一次使用有效
    2)import 包名.类名;
    3)模糊匹配 *
        模糊匹配当前包下的所有类  import java.util.*;
        影响编译效率不会影响运行效率
    4)静态导入
        只能导入某个类中的静态内容
类似年龄,可能存储负数,或者不符合业务逻辑要求的一些数据
程序可能存在安全隐患,
解决安全隐患: 介绍一个关键字 private 私有的
private 私有的 :
    成员修饰符,不能修饰局部
    成员只能在本类中使用

提供公共的访问方式:
    公共的成员方法(非静态)
    设置器 setter
    访问器 getter

私有的属性,配合公公公的访问方式提供成员的安全性

面向对象的三大特性: 封装   继承   多态
    属性私有化配合公共的访问方式就是封装的具体体现
    方法,类..都是封装的体现
    私有是封装,封装不一定是私有

封装:
    隐藏内部的实现细节,对外提供公共的访问方式

封装的优点:
    1.提高安全性
    2.提高了复用性

注意: 未来所定义的javabean类,所有的属性都应私有化,并提供公共的访问方式

 

继承 :
     子承父业

 作用: 子类一旦继承父类,就有权使用父类中的内容
       子类中可以扩展自己独有的内容  延续+扩展

 定义: 子类 extends 父类

 为什么要定义继承: 为了提高代码的复用性

 父类 | 基类 | 超类 : 被继承的类
 子类 | 派生类 : 继承父类的类

 特点:
     java中的继承是单继承机制
         优点: 简单
         缺点: 不变与后期维护,不够灵活

     一个子类只能存在一个直接父类
     一个父类可以存在多个子类

 面向对象的设计原则之一:
     开闭原则 : 对修改关闭,对扩展开放


 javabean : 抽取一系列对象的共性
 父类: 子类的共性

 要求:
    gae

 

 

super 与  this 之间的区别:
    this  指代当前对象
    super 指代父类对象

先静态后成员
在子父类关系下,创建子类对象 : 先父类后子类 (在子类内存空间中存储父类对象,可以通过super在子类中使用父类对象)
super需要在子类中使用

1.在子类的构造器首行通过super调用父类的执行构造器
    super(参数列表)
    默认在子类构造器的首行会调用父类的空构造 super()
    在子类构造器的首行不能同时显示存在this()与super(),因为都需要定义在首行第一个条语句

2. super区分子父类中同名成员问题
    如果子父类中出现同名的成员,子类中使用这个成员,默认就近原则
    如果想要调用父类同名成员,通过super.调用父类成员 (super指代子类内存中的父类对象)
    this用来区分局部与成员之间同名问题
        默认就近原则找局部
        可以通过this.调用本类成员
        可以通过super.调用父类成员
    如果不存在同名问题,指代父类成员可以省略super.
    如果不存在同名问题,知道子类成员可以省略this.

 

 

重写 Override:  ****
    简单题: 重写与重载之间的区别
        都是方法的一种特性

        重载:
            1.同一个类中的多个方法
            2.方法名相同
            3.参数列表不同|方法签名不同

        重写:
            1.不同的两个类
            2.继承|实现关系
            3.方法签名相同


        使用前重写的前提需求 : 子类对父类某个 功能满意,功能实现不满意,可以在子类中对这个功能进行重新实现-->重写

        使用特点: 子类引用会调用子类中重写的方法,子类没有找父类,子类有找子类,会对父类中的方法进行屏蔽

        如何检查一个方法是否是重写方法:
            1.在行号的后面显示,点击会跳转到对应被重写的方法位置
            2.@Override 强制检查一个方法是否为重写方法


        详细要求:
            == 方法签名
            <= 返回值类型 :
                基本数据类型 : 完全相等
                引用数据类型 : 子类中重写方法的返回值类型 <= 父类中被重写方法的返回值类型
                没有返回值类型 : 完全相等
            >= 权限修饰符 :
                子类中重写方法的权限修饰符 >= 父类中被重写方法的权限修饰符

        不能被重写的方法:
            1.被private修饰的方法不能被重写
            2.被final修饰的方法不能被重写
            3.被static修饰的方法不能被重写
                子类中如果存在与父类静态方法同名的方法,要求子类中的同名方法也需要被static修饰

 

重写 Override:
        成员的被访问权限
        成员修饰符,不能修饰局部

                     本类            同包类       不同包下的子类     不同包下的其他类
 公共的   public       √                √              √                    √
受保护的 protected     √                √              √
  默认的  default      √                √
 私有的  private       √

        能够修饰的类的 : public , default(省略)
        私有的内容能被继承,但是无权使用
        受保护的成员 :
                    1.同包类
                    2.在不同包的子类中,通过继承关系访问
        常用的权限修饰符:
                        public
                        private
 */

 

 

final关键字
    最终的
    final可以修饰成员可以修饰局部

    1.被fianl修饰的变量为常量
    2.被final修饰的方法不能被重写
    3.被final修饰的类不能被继承-->太监类

Object 类
       老祖宗类
       是java中所有类的父类
       java中的类都会直接或者间接的继承自Object类
       如果一个类没有显示的继承自其他类,默认继承自Object类

   toString()  把对象数据转为字符串的表现形式
       如果直接打印一个引用,默认打印的是这个调用toString方法的返回值
       需求: 以一个字符串展示一个对象,想要了解到对象的一些基本的信息(成员变量的值)
       Object类中的toString方法的实现: 默认以对象的地址展示
           public String toString() {
               return getClass().getName() + "@" + Integer.toHexString(hashCode());
           }
       子类中重写toString方法,实现返回对象的成员变量的值非地址值



   equals 比较两个对象是否相等
       Object 类中equals默认比较 : 对象的地址
                               public boolean equals(Object obj) {
                                   return (this == obj);
                               }
       如果不想比较对象的地址,想要比较所有成员变量的值,可以在子类中重写equals方法

   equals与==之间的区别:
       == : 基本数据类型比较数据值
            引用数据类型比较对象的地址值'

       equals : 只能比较引用数据类型
               默认比较对象的地址
               可以通过重写实现比较对象内容(成员变量的值)

    注意: 以后要在javabean类中重写toString()与equals()方法

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值