第1节:类和对象
封装是与对象有关的一个重要概念
形式:将数据和行为组合在一起,并对对象的使用者隐藏数据的实现方式
类和对象的概念是什么?他们是什么关系?
面向对象编程的特点是什么?几个重要的特征分别是什么?
类中几个主要的组成部分是什么?
封装有什么好处?
面向对象的编程思想,使设计程序编写程序的过程清晰化。有利于将程序模块化,可以组织比较大的团队开发程序,按模块进行分工,解决大规模问题。
Java语言的设计集中于对象及其接口,它提供了简单的类机制以及动态的接口模型。
对象中封装了状态变量以及相应的方法,实现了模块化和信息隐藏,类则提供了一类对象的原型,并且通过继承机制,子类可以使用父类所提供的方法,实现了代码的复用,类是同等对象的集合与抽象。它是一块创建现实对象的模板。对象是类的实例。
面向对象最重要的三大特征是:封装、继承、多态。
在Java中万事万物皆对象
对象依赖于类存在(模板-个体实例)
在程序中应该使用的是对象
分析过程先有对象后有类;开发过程先有类后有对象
第2节:类和对象的声明
声明类以及类成员属性、类成员方法的基础语法结构什么?
Java中成员变量及方法中的局部变量是否需要显式初始化才能使用,如不需显式初始化,那么初始值是什么?
如何调用成员变量和成员方法?
Java中方法参数是值传递还是引用传递?
如何使用可变长参数?
方法重载的原则是什么?
通过class关键字可以声明一个普通的Java类,Java类中的属性以成员变量的形式存在,可以是任何Java数据类型,Java的方法签名必须包括返回值类型、方法名以及参数列表,实例化对象后可以调用类中声明的成员属性和成员方法
成员变量无需初始化,初始值和该变量对应的数据类型初始值保持一致(引用类型不初始化直接使用会导致程序异常),方法中的局部变量需要显式初始化后才能使用
Java中的方法参数是值传递
每一个方法只能拥有一个可变参数且需要位于参数列表的最后,Java以数组的形式处理可变参数
重载的原则:方法名相同参数不同(数量不同、类型不同或顺序不同)、同一作用域,方法重载跟方法的返回值类型没有任何关系。也就是说,只有返回值不同的方法不能构成重载
第3节:构造方法
构造方法的作用是什么?是否每一个类都具备构造方法?
默认构造方法的特点是什么?
构造方法能够重载吗?
this关键字的作用是什么?
类初始化代码块和实例初始化代码块的结构和运行顺序是什么?
构造方法是一种和类名同名的方法,且没有返回值,不能写void(否则就变成普通方法,无法实现自动调用初始化对象的作用),在使用new构建对象时有Java虚拟机自动调用,每一个类都存在至少一个构造方法
如果没有显式提供构造方法,则系统会提供默认的无参无方法题构造方法,一旦提供任意版本的构造方法,则不提供默认构造方法
this用于表示当前对象自身的引用,可以用于访问被局部变量隐藏的成员变量,也可以将本对象作为参数传递给其他对象操作
类初始化代码在加载类的时候执行一次,示例初始化代码每次构建对象时都会执行,顺序是:类初始化块->实例初始化块->构造方法