Java面向对象部分小结

Java面向对象部分小结

第一天:

1. 了解面向对象和面向过程

2. 对象是什么,静态特性(属性),动态特征(方法)

3. 类和对象的关系

  • 类是抽象的,对象是具体的
  • 类是具有相同属性和行为(方法)的对象的集合
  • 对象是类的一个实例,是一个具体的实体,是由属性和方法构成的。

4. 代码实现了类和对象的关系

  只有对象才能调用方法

第二天:

1. 方法:如何去定义方法 - 五要素

  • 访问修饰符,返回值类型,方法名,参数列表,方法体

  • 有参方法,无参方法,有返回值,无返回值

第三天:

1. 面向对象的特性:封装

  • 为什么要使用封装
      将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问
  • 封装的好处
    i. 隐藏了实现的细节,提高安全性和健壮性
    ii. 符合java的“高内聚,低耦合”思想
    iii. 提高了软件的独立性和可重用性
  • 如何实现封装
    i. 私有化属性;
    ii. 创建公共的getter和setter方法;
    iii. 在setter方法中添加控制语句

2. 构造方法

  • 作用
      创建对象,初始化对象,为对象属性赋值的过程
  • 有参构造,无参构造
  • this关键字的作用
      this-当前对象

3. 成员变量和局部变量

第四天:

1. 构造方法

2. 方法的重载

  • 如何判断是否构成重载
      同类同名不同参,与其他无关。(不同参:不同的参数列表:个数不同,类型不同,顺序不同)

3. 继承

  • 为什么要使用继,承继承的好处
      将子类共有的属性和方法抽取到父类中,减少重复代码,实现代码的重用
  • 子类继承了父类的哪些内容,不能继承哪些内容
    i. private修饰的属性和方法
    ii. 子类和父类不再同一个包下,不能继承默认访问权限的成员
    iii. 不能继承构造方法
  • super的用法
      super - 可以调用属性,方法,构造方法,必须要在第一行
  • java的类是单继承

4. 静态static - 变量,方法,代码块

  执行的时机,类加载的顺序

第五天:

1. object类 – toString(),equals()

2. 方法的重写,为什么需要?遵循的原则-判断标准

  • 当父类的方法满足不了子类的需求时
  • 重写需要遵循的原则:方法名相同,参数列表相同,返回值类型相同,访问权限的修饰符不能严于父类
  • 在子类和父类中存在,同名同参同返回值同访问修饰符的方法(返回值可以是其子类,访问修饰符不能比父类更严格)

3. 重写了equals()

第六天:

1. 多态-java中多态的体现:

父类或接口的引用变量指向了子类或实现类的实例对象
基础:方法的重写
前提:继承关系
注意:如果使用多态的方式创建对象的话,
只能调用父类或子类重写了父类的方法,
子类特有的方法是无法调用的

2. 类型的转换

第七天:

1. 抽象方法

2. 抽象类

3. 接口 – 特殊的抽象类

第八天:

1. 异常

  • 常见异常
    i. 算术异常:ArithmeticExecption
    ii. 空指针异常:NullPointerException
    iii. 数组下标越界异常:ArrayIndexOutOfBoundsException
    iv. 类型转换异常:ClassCastException
    v. 输入类型不匹配:inputMisMatchException
  • Java异常机制:捕获异常,抛出异常
  • 关键字有哪些?
      try,catch, finally,throw,throws
  • 有异常,无异常的执行过程
    无异常时:
try {
	System.out.println("一");
    System.out.println(2 / 1);
    System.out.println("二");
} catch (Exception e) {
    e.printStackTrace();
}
    System.out.println("四");

无异常的执行结果

  • catch中捕获了异常,没有捕获到异常的执行顺序
    捕获异常时:
try {
	System.out.println("一");
    System.out.println(2/0);    //算数异常
    System.out.println("二");    //永远不会被执行
}catch (ArithmeticException e){
    System.out.println("ArithmeticException");
}
    System.out.println("四");

捕获异常时
没有捕获到异常时:

try {
	System.out.println("一");
    System.out.println(2/0);    
    System.out.println("二");    
}catch (NullPointerException e){
    System.out.println("NullPointerException ");
}
    System.out.println("四");

没有捕获到异常时

  • finally关键字的作用
      不管有没有异常都会执行的代码
      有一种场景是不会执行的,手动关闭程序-System.exit(0);

第九天:

1. 自定义异常 – 如何定义,如何使用

  • 1:定义一个类继承Exception或者其子类;
    ----- class <自定义异常名> extends
  • 2:编写构造方法(无参和有参);
  • 3:在需要的地方调用异常类(使用throw 抛出实例化后的异常)- 在方法的声明中需要声明

下周计划:

  1. 字符串
  2. java集合:List,set
  3. java集合:Map集合
  4. IO流
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值