java小白的第一篇学习笔记

·这里是在看过教学视频和教材书籍后总结的一些知识点,希望能够对同是小白的你有所帮助。

·面向对象知识点记录

一.类与对象的关系

  1. 他们之间的关系就好像图纸与实物,类是对象的蓝图,类必须通过对象才可以使用,而对象的所有操作都在类中定义。
  2. 对象本身已知的事物:
    实例变量(代表对象的状态)
    对象可以执行的动作:
    方法 (代表对象的行为)
    二.构造方法
    1.如果在一个类中没有明确的编写构造方法,则编译器会自动生成一个没有参数的构造方法。(建议自定义无参构造方法,不要对编译器产生依赖,避免错误发生。)
    2.<方法的重载> 与普通方法基本相同,区别在于 方法名称必须与类名相同 ,参数列表(参数顺序不同也算参数类型不同)或参数长度不同,可以完成方法的重载,与返回值无关。
    三.封装 private
    1.封装的意义在于保护防止代码数据被破坏,保护成员属性不让类以外的程序直接访问或修改。
    2.为了避免实际操作中出现逻辑错误,建议对所有属性进行封装,并为其提供settergetter方法进行设置和获取。
    四.静态 static
    1.非静态修饰的属性为对象的属性,静态修饰的属性为类的属性。(随着类的加载而加载)并且在内存中永远只存在一份,可理解为所有对象共有。
    2.静态不能访问非静态
    非静态可以访问静态(因为当静态随着类的加载而加载,静态存在时可能调用静态的对象还未被创建)。
    五.继承
    1.继承是java面向对象编程技术的一块基石,因为他是允许创建分层次等级的类。
    2 继承就是子类继承父类的特征和行为,是的子类对象(实例)具有父类的实例和方法,或子类从父类继承方法,使得子类具有父类相同的行为 。
    ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆正因为继承这一概念,使得面向对象设计与面向过程不同的地方在于:它加入新功能时不会搞乱已经写好的程序代码。类可以重复在别的在别的应用程序中,当写一个新类时,可以使该类有足够的扩展性,以便以后用到。☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
    3.继承的限制
    java中只有单继承,多重继承{ c可以继承b,b可以继承a},没有多继承 {c不可以同时继承b和a}
    【只有public 和 protected 修饰的类才能被继承】
    六.super关键字 this关键字
    1.通过super可以访问父类构造方法
    可以访问父类的属性
    可以访问父类的方法
    2.调用super构造方法的代码,必须写在子类构造方法的第一行

1.通过this可以调用类中的属性
· 调用类中的方法或构造方法
2.this调用另一个构造方法时,调用的代码必须写在构造方法的第一行

3*.superthis* 调用构造方法时,都要求写在构造方法的第一行
-----------------------【但是他们不同的地方在于:super调用的是父类的构造方法,而this调用的是同一个类中的其他构造方法,所以superthis不能同时调用】----------------------
七.重写
1、参数列表必须完全与被重写方法的相同
2、返回类型必须完全与被重写方法返回类型相同
3、访问权限不能比父类中被重写方法的访问权限更低,例如:父类的方法被声明为public,那么子类在重写方法就不能声明为protected或private。。。
4、声明为static和private的方法不能被重写,但是能被再次声明


  • 面试题
  • java中重写(override)与重载(overload)的区别
    1、发生的位置: 重载 一个类中
    重写 字符类中
    2、参数列表限制: 重载 必须不同
    重写 必须相同
    3、返回值类型: 重载 与返回值无关
    重写 返回值类型 一致
    4、访问权限: 重载 与访问权限无关
    重写 子类的访问权限必须大于等于父类的访问权限
    5、异常处理: 重载 与异常无关
    重写 子类的异常范围必须在父类范围之内,不能出现新的异常
    八.final关键字
    1.final用于修饰属性、变量
    变量成为了常量,无法对其再次进行赋值
    final 修饰的局部变量只能赋值一次,(可以先声明后赋值)
    final修饰的成员属性,必须在声明时赋值
  • 全局常量(public static final
    在java的面向对象概念中并没有全局变量这回事,但是实际上会有需求方法或常量可被任何的程序存取。任何变量只要加上(public static final)基本上都能变成全局常量。
    2.final修饰类 不可以被继承
    final修饰方法 不能被子类重写

猜你喜欢

转载自blog.csdn.net/baipangtu/article/details/106728597