Java学习周总结

Java学习周总结

  • 面向对象:创建对象内存分析

    1. 内存中有2个区域,一个是堆一个是栈,栈中存储的是一些方法压栈和引用,堆中存放的是方法区和对象的一些属性值和方法。

    2. 栈中存储的对象名是一个指向堆的内存地址,通过对象名.属性值和对象.方法名来对属性进行修改或者对方法进行调用

  • 面向对象:简单小结类与对象

    1. 类与对象
          类是一个模版:抽象,对象是一个具体的实例
    2. 方法
          定义,调用!

    3. 对应的引用
          引用的类型:  八大基本类型以外的都可以叫引用类型
          对象是通过引用来操作的:栈--->

    4. 属性: 字段Field 成员变量
          默认初始化:
             数字: 0  0. 0
             char: u0000
             booleon: false
             引用类型为: null

         修饰符  属性类型  属性名 =  属性值!

              (5)方法注意点:“避免死循环”!
    5. 对象的创建和使用
         - 必须使用new 关键字创建对象,构造器  Person kuangshen = new Person();
         - 对象的属性  kuangshen.name
         - 对象的方法  kuangshen.sleep()

    6. 类:
        静态的属性   属性
        动态的行为   方法

    面向对象的三大特征: 封装,继承,多态
  • 面向对象:封装详解

    封装:属性私有,用get、set方法

    封装的意义:

    1.提高数据的安全性,保护数据 2.隐藏代码的实现细节 3.统一接口 4.系统的可维护性增加了

  • 面向对象:什么是继承

    继承是面向对象三大特征之一,java中的继承描述的是两个类之间的关系,被继承的类称为父类,继承的类成为子类 继承使用关键字extends关键字来描述。在java里面只支持单继承及一个类只能有一个父类,子类可以继承的非private修饰的成员方法和成员变量,构造方法不能被继承,如果一个类没有显示的继承其他类,那么这个类会默认继承object类 object是sun公司提供的java中的根类*

    继承的优点:

    提高代码的复用性 提高代码的维护性 让类与类之间产生关系,是多态的前提

    继承的缺点: 增强了类之间的耦合 软件开发的一个原则是高内聚、低耦合 内聚是一个模块内各个元素彼此结合的紧密程度 耦合是一个软件里面不同模块之间的互相连接的数量

  • 面向对象:Super详解

    super注意点: 1. super调用父类的构造方法,必须在构造方法的第一个 2. super 必须只能出现在子类的方法或者构造方法中! 3. super和 this 不能同时调用构造方法!

    Vs this: 代表的对象不同: this:本身调用者这个对象 super:代表父亲对象的应用 前提

    this:没有继承可以使用 super:只能在继承条件才可以使用 构造方法 this():本类的构造 super():父类的构造!

  • 面向对象:方法重写

    子类中出现和父类中一模一样的方法(包括返回值类型,方法名,参数列表)

    方法重写的注意事项:

    1.重写的方法必须要和父类一模一样(包括返回值类型,方法名,参数列表)

    2.重写的方法可以使用@Override注解来标识

    3.子类中重写的方法的访问权限不能低于父类中方法的访问权限

    为什么需要重写: 1.父亲的功能,子类不一定需要,或者不一定满足!

  • 面向对象:什么是多态

    多态注意事项: 1.多态是方法的多态:属性没有多态 2.父类和子类, 有联系 类型转换异常 ClassCastException! 3.存在的条件:继承关系,方法需要重写,父类引用指向子类对象! father f1 = new Son(); (1)不能被重写的方法 1.static 方法,属于类,不属于实例 2.final 常量; 3.private方法;

  • 面向对象:instanceof和类型转换

    1.父类引用指向了类的对象 2.把子类转换成父类,向上转型;直接转换 3.把父类转换成子类,向下转型;强制转换 4.方便方法的调用,减少重复的代码!可以使代码变的简洁

    封装,继承,多态!

  • 面向对象:static关键字详解

    1. static修饰的类、方法、变量、静态块会在类别被初次加载的时候执行,且只执行一次。

    2. 用来修饰成员变量,将其变为类的成员,从而实现所有对象对于该成员的共享;

    3. 用来修饰成员方法,将其变为类方法,可以直接使用“类名.方法名”的方式调用,常用于工具类;

    4. 类加载顺序: 继承关系:父类静态-->子类静态-->父类构造-->子类构造-->父类方法-->子类方法

    引用关系:主类静态-->成员变量静态-->成员变量构造-->主类构造

  • 面向对象:抽象类

    通过abstract修饰的一个类,就是抽象类

    abstract 抽象类: 类 extends: 单继承~ java没有多继承(接口可以多继承)

    特点:

    1.不能new这个抽象类,只能靠子类去实现它:约束! 2.抽象类中可以写普通方法~ 3.抽象方法必须在抽象类中~ 抽象的抽象:约束~

    存在的意义 抽象出来~ 提高开发效率

  • 面向对象:接口的定义与实现

    作用: 1.约束 2.定义一些方法,让不同的人实现~ 10 ---> 1 3.public abstract 4.public static final 5.接口不能被实例化~,接口中没有构造方法~ 6.implements可以实现多个接口 7.必须要重写接口中的方法~

  • 面向对象:N种内部类

内部类就是在这一个类中再定义一个类,比如,A类中定义一个B类,那么B类相对A类来说就称为内部类,而A类相对B类来说就是外部类了。

一个Java类中可以有多个class类,但只能有一个public class!

 

 

  • 异常:Error和Exception

    异常类分为两大类,错误Error和异常Exception。

     

    Error类对象由Java虚拟机生成并抛出,大多数错误与代码编写者所执行的操作无关。

     

    1.在Exception分支中有一个重要的子类RuntimeException(运行时异常) ArraylndexOfBoundsException(数组下标越界) NullPointerExceptino(空指针异常) ArithmeticException(算数异常) MissingResourceException(丢失资源) ClassNotFoundException(找不到类)等异常,这些异常是不检查异常,程序中可以选择捕获处理,也可以不处理。 这些异常一般是由程序逻辑错误引起的,程序应该从逻辑角度尽可能避免这些异常的发生;

     

    2.Error和Exception的区别:Error通常是灾难性的致命的错误,是程序无法控制和处理的,当出现这些异常时,Java虚拟机(JVM)一般会选择终止线程; Exception通常情况下是可以被程序处理的,并且在程序中应该仅可能得去处理这些异常。

  • 异常:捕获和抛出异常

    抛出异常:如果程序中出现了异常,没有办法将具体的异常打印出来,不做任何处理

    捕获异常:如果程序出现了异常,就能够详细的打印是什么原因导致了异常并且能够做出相应的处理,能够显示详细的Log

    如果异常出现的话,会立刻终止程序,所以我们得处理异常:

    1. 该方法不处理,而是声明抛出,由该方法的调用者来处理(throws)。

    2. 在方法中使用try-catch的语句块来处理异常。

  • 异常:自定义异常及经验小结

    处理运行异常时,采用逻辑去合理规避同时辅助try-catch处理 在多重catch块后面,可以加上一个catch(Exception)来处理可能会被遗漏的异常。 对于不确定的代码,也可以加上try-catch,处理潜在的异常 尽量去处理异常,切记只是简单的调用printStackTrace()去打印输出,在printStackTrace()前面,增加一些处理异常的代码块~(把我们的损失降到最低) 具体如何处理异常,要根据不同的业务需求和异常类型去决定 尽量添加finally语句块去释放占用的资源,比如:IO、Scanner~

  •  

 

posted @ 2021-04-19 19:57  冬森  阅读(105)  评论(0)    收藏  举报