面向对象的思考之继承

本文介绍了Java中的类定义,包括包、命名规范、属性和方法。讨论了对象的创建和使用,特别是构造方法的作用。强调了private修饰符的封装作用以及this关键字的应用。还涉及了JavaBean规范、Scanner和Random类的使用,以及基本类型和包装类之间的转换。此外,文章详细阐述了继承的概念,包括重写和重载的规则,以及权限修饰符的作用。
摘要由CSDN通过智能技术生成

  * 1.类的定义

     *      类的组成部分?包,类名,属性,方法,构造方法

     *      命名规范:

     *      包:全小写

     *      类名:大驼峰

     *      属性,方法都是小驼峰

     *      构造方法和类名一致:构造方法分为无参和有参数

     * 2.对象的使用 :通过构造方法得到对象,对象里面的属性和方法可以通过对象直接调用

     * 3.private  私有,就是其他类不能调用被private修饰的属性或者方法

     * 4.this   代表对象,当前对象,谁调用就代表谁:

     *          this只能调用当前对象的属性和方法吗?

     *          this调用属性,首先在当前类里面找,如果本类找不到,则去父类,超类里面找,

     * 5.封装:隐藏细节,暴露接口

     * 6.构造方法:任何一个类默认一个无参数的构造方法

     *          如果手写了一个有参数的构造方法,则默认的无参数构造方法失效

     *          需要手动写一个无参数的构造方法

     *          构造方法是有返回值,不写返回值类型和return

     * 7.JavaBean  :

     *          1.属性私有

     *          2.set/get方法

     *          3.构造方法

     *          @Data//设置set和get方法和toString方法

     *          @NoArgsConstructor//无参数的构造方法

     *          @AllArgsConstructor//全参数的构造方法

     * 8.Scanner  获取用户输入

     * 9.Random   随机数,m,n之间的随机数

     * 10.String  常用方法

     * 11.基本类型和包装类:数据转换:隐式和强制转换,向上转型和向下转型

     *      装箱和拆箱:

     * ------------------------------------------

     * 1.以前如果类里面有很多一致的代码,考虑将代码提取到工具类,这个工具类和当前类的关系不大

     * 2.如果提取的代码和当前类的代码关系大,或者具有组合或聚合关系

     * 3.如果子类继承父类,子类可以直接调用父类的方法,但是,不能调用私有方法

     * 4.子类可以调用父类的protected受保护的:修饰的 属性或者方法

     * 5.如果子类和父类的方法一致,则调用子类的方法时,则执行子类的方法

     * 6.子类和父类方法一致,其实是对父类的方法进行重写(覆盖)

     * 7.重写:子类扩展了父类的相同方法

     *      1:方法名相同

     *      2:个数必须相同

     *      3:参数类型是否相同?必须

     *      4:和返回值数据类型是否相关?可以不一致,但是子类必须小于等于父类

     *      5.权限修饰符,子类必须大于等于父类

     *      一般判断两个方法是否重写用注解@Override

     *      简单理解重写:父类和子类方法一样

     * 8.重载:

     *      1:方法名相同

     *      2:参数类型和个数不同

     *      3:和返回值类型无关

     *      -----------------

     *      重载,不局限于同一个类

     * 9.权限修饰符:四个,可不可以修饰类?

     *      类只能是默认不写和public修饰:

     *      创建类的主要目的?为了创建对象,让别人调用

     * 10.基类,直接父类,超类,超越父类的类

     * 11.Object,所有类的父类或者超类,最顶端的类,所有引用类型默认继承Object类

     * 12.面试会问?Object的常用方法?

     *      1:getClass() 用于反射,得到当前类

     *      2:hashCode() 打印地址

     *      3:equals() 判断地址值是否相等

     *      4:clone() 克隆,拷贝,浅拷贝和深拷贝

     *      5:toString() 将对象转换为字符串,所有对象默认都是toString

     *      6:notify() 唤醒线程  notifyAll()唤醒所有线程

     *      7:wait() 线程等待

     *      8:finalize() 垃圾回收的时候会用

     * 13.以后写代码尽量:解耦:不要有太强的耦合性

     * 14.变量的访问:局部变量--》成员变量--》父类--》超类 :就近原则

     * 15.this()只能在构造方法里面调用,而且放在第一行

     * 16.子类的构造方法(无论是否有参数)默认写了一个无参数的父类的构造方法:super();

     * 17.java中是否支持多继承,支持,接口可以支持

     * 18.Java接口是属于类吗?属于类

     * 19.Java接口是对抽象类的封装,抽象类是属于类

     * 20.Java普通类不能支持多继承,只有接口才支持

     * ------------------------------------------

     * 修饰符:

     * 权限修饰符  访问修饰符

     *  public  所有类都可以访问

     *  private 只能当前类可以访问

     *  protected  一般用于子类访问父类

     *  默认不写  当前包可以访问

     * 状态修饰符  非访问修饰符  特征修饰符

     * final  关键字  最终的

     *      修饰方法:方法不能被重写:如果父类不想子类重写(修改)方法,则用final修饰

     *      修饰变量:表示是常量,不能再次赋值:定义变量的时候,一定要赋一个初始值,

     *              常量,只能使用,不能再次赋值

     *      修饰类:不能被继承,不能有子类继承,但可以作为其他类的子类

     *      如果final修饰的是引用类型:则不能改变当前的引用地址,可以改变里面的内容

     * static 静态:简单理解为数据共享

     * 静态方法里面不能直接调用非静态属性或方法,只能通过对象.属性,对象.方法名

     * 普通方法可以调用静态方法和非静态方法

     * 21.static一般用于工具类

     *      一般构造方法需要私有:

     *      私有后就不会被别人创建多个对象,占用内存空间

     *      成员变量和方法都用static修饰即可

     * 22.代码块在创建对象时,执行

     * 23.静态代码块在编译代码时执行,静态代码块只要用到了类,就会执行,

     *      代码块只能创建对象调用构造方法时才执行

     *      代码块在构造方法之前执行

     *      静态代码块先于代码块执行

     *      代码块先于构造方法执行

     *--------------------------------------

     * 知识点:

     * 1.理解继承

     * 2.理解final和static

     * 3.math和代码块

     * 4.掌握。代码的执行顺序

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值