笔记内容大部分于来自b站视频:【狂神说Java】Java零基础学习视频通俗易懂
面向对象
一. 什么是面向对象
1.面向对象与面向过程
面向过程:解决问题,分步骤来做,步骤清晰,适合于处理简单问题。
面向对象:把解决问题的方法封装在对象里,通过对象来完成问题的解决。适合处理复杂的,需要多人协作的问题。
二. 类,对象
1.类是抽象的,对象是具体存在的。
2.从代码运行角度来看,先有了类,后有对象。类是对象的模板。
三. 方法
1.有静态方法和非静态方法
静态方法可以通过类名.方法名(…)的方式调用,而非静态方法只能通过实例化对象的方式调用。
静态方法是和类一起加载的。
四.构造器
1.两个特点
构造方法名必须和类名一致,没有返回值。
2.注意
写有参构造方法之后,必须显示的写出无参构造。
3.作用
创建对象,给对象的属性赋值。
五.创建对象内存图分析
六.继承
1.继承是类和类之间的关系。
2.只有单继承,即一个类只能继承一个父类。
3.extends是拓展的意思,在继承关系中,一个为父类一个是子类,子类是父类的拓展。
4.super
4.1 super.xxx可以调用父类的属性和方法。
//定义一个person(人)类
public class Person {
protected String name="person";
}
//studnet(学生)类继承person类
public class Student extends Person {
private String name="student";
public void test(String name){
System.out.println(name);
System.out.println(this.name);
System.out.println(super.name);
}
}
//测试类
public class Application {
public static void main(String[] args) {
Student stu = new Student();
stu.test("wang");
}
}
运行测试类的main()方法,得到结果:
wang
student
person
4.2 super()调用了父类的无参构造方法。
4.3 super()和this()都只能在子类构造方法的第一行,它们不能同时出现在一个子类的构造方法里。
七.多态
- 多态要解决的问题:代码复用性不高
- java多态的三个必要条件:
继承; 子类重写父类方法; 父类引用指向子类对象 - 多态的作用
可扩充性,接口性等