本学期,在刘老师的指导下学习了Java课程,在前面几个月学习了6个章节的内容,现重点在4-6章节的汇总陈述:
一、面向对象
对象:客观世界中的任何事物,例如:人(身份信息等),动物,植物等;
类:对同一类对象的属性和行为封装。
二、实现面向对象
(一)重要特征/方法(构造函数,封装,继承,多态等)
1.构造函数
(1)函数名与类相同;
(2)不含返回类型;
类名 对象名=new 类名(传给构造函数的参数列表);//创建对象
2.封装
(1)将不能暴露的成员隐藏;
(2)用公共的方法暴露对该隐藏成员的访问,修饰符public ;
3.继承(子类继承父类的变量和方法,本质:代码复用)
(1)父类构造函数
(2)子类构造函数
(3)成员覆盖
class 子类 extends 父类
如学生是一个人,学生从人继承,老师是一个人,老师也从人继承;
class Teacher extends Person{}/class Student extends Person{}
(4)方法重写
① 在父类中定义一个方法, 其子类中也定义一个一模一样的方法
② @Override 符号表示重写,放在方法名之前;
③ 重写必须存在继承关系, 重载是在本类中存在;
4.多态(动态多态)
(1)函数重载(多态一种,静态多态);
(2)理论基础:父类引用可以指向子类对象;
(3)建立在继承之上,先有继承才能有多态;
5.抽象类(抽象方法、抽象类)
(1)抽象类不可实例化;
(2)抽象函数必须被重写,除非子类是抽象类;
(3)可含有普通成员函数;
(4)抽象类中可能有抽象方法,也可能没有抽象方法。
6.接口(implements)
(1)public interface 接口名;
(2)class 子类 extends 父类 implements 接口1,接口2,...{};
(3)一个类可实现多个接口,但只能有一个父类;
7.其他
(1)关键字final
① 修饰一个类;
② 修饰一个函数;
③ 修饰一个成员变量;
(2)Object类:常用的两个方法(toString和equals)
(二)注意
1.在对象的生命周期中,构造函数只会被调用一次,与new连用;
2.构造函数可被重载(可定义多个构造函数);
3.若用户定义了含参数的构造函数,系统则不提供默认的构造函数。
4.若在内部类中使用thi本学期,在刘老师的指导下学习了Java课程,在前面几个月学习了6个章节的内容,现重点在4-6章节的汇总陈述:
一、面向对象
对象:客观世界中的任何事物,例如:人(身份信息等),动物,植物等;
类:对同一类对象的属性和行为封装。
二、实现面向对象
(一)重要特征/方法(构造函数,封装,继承,多态等)
1.构造函数
(1)函数名与类相同;
(2)不含返回类型;
类名 对象名=new 类名(传给构造函数的参数列表);//创建对象
2.封装
(1)将不能暴露的成员隐藏;
(2)用公共的方法暴露对该隐藏成员的访问,修饰符public ;
3.继承(子类继承父类的变量和方法,本质:代码复用)
(1)父类构造函数
(2)子类构造函数
(3)成员覆盖
class 子类 extends 父类
如学生是一个人,学生从人继承,老师是一个人,老师也从人继承;
class Teacher extends Person{}/class Student extends Person{}
(4)方法重写
① 在父类中定义一个方法, 其子类中也定义一个一模一样的方法
② @Override 符号表示重写,放在方法名之前;
③ 重写必须存在继承关系, 重载是在本类中存在;
4.多态(动态多态)
(1)函数重载(多态一种,静态多态);
(2)理论基础:父类引用可以指向子类对象;
(3)建立在继承之上,先有继承才能有多态;
5.抽象类(抽象方法、抽象类)
(1)抽象类不可实例化;
(2)抽象函数必须被重写,除非子类是抽象类;
(3)可含有普通成员函数;
(4)抽象类中可能有抽象方法,也可能没有抽象方法。
6.接口(implements)
(1)public interface 接口名;
(2)class 子类 extends 父类 implements 接口1,接口2,...{};
(3)一个类可实现多个接口,但只能有一个父类;
7.其他
(1)关键字final
① 修饰一个类;
② 修饰一个函数;
③ 修饰一个成员变量;
(2)Object类:常用的两个方法(toString和equals)
(二)注意
1.在对象的生命周期中,构造函数只会被调用一次,与new连用;
2.构造函数可被重载(可定义多个构造函数);
3.若用户定义了含参数的构造函数,系统则不提供默认的构造函数。
4.若在内部类中使用this,仅代表内部类的对象,因此只可引用内部类的成员
5.方法重写和方法重载是两码事;
6.super()和this()不能同时存在;
7.this和super都必须放在构造器的第一行;
8.任何类只能有⼀个⽗类,即Java只允许单继承;
9.Overload(重载)是多态性的静态展⽰,Override(重写)是多态性的动态展⽰;
10.get和set的应用。
三、心得
通过对理论的学习,尽量的了解了新知识的概念,但也只是粗略的了解,进行实操还是有一些困难,需要同学的帮助完成。半学期已过去,学到了很多Java知识,不仅学到了Java构架,也学到了Java面向对象编程语言,明白了Java的学习过程不仅仅是基础语法的学习,更多的是去学习和掌握它所提供的数据库。而且还不能只看不练,学好Java需要在不断地实践中积累知识,反反复复的去尝试,去接触新概念,提升自己。在此,再次感谢刘老师的辛苦教导。