1.类与方法
编程的几种思想
面向过程 | 面向对象 | 面向切面编程 |
---|---|---|
OPP(Procedure Oriented Programming) | OOP(Object Oriented Programming) | AOP(Aspect Oriented Programming) |
以事物/过程/方法为中心 | 以对象为中心 | OOP延伸出来的 |
把数据和逻辑封装成一个整体, 带来了强耦合的问题 | 数据和逻辑分开, 绝对的松耦合, 但封装性不够 | |
过程间相互发送数据 | 对象相互间发送消息 | |
关注数据结构、算法和执行步骤 | 关注对象与对象的职责 | |
遵循自上而下的方法 | 遵循自下而上的方法 | |
程序中没有访问说明符 | 有访问说明符,例如:public/private/protected | |
没有合适的方法来隐藏数据,因此安全性较低 | 提供了数据隐藏功能,更加安全 | |
不可能重载 | 可能会重载 | |
例如:C/FORTRAN/Pascal/Basic | 例如:C++/java/python/C# | |
特性:封装,继承,多态 |
类与对象
类是java语言中最重要的数据类型
类实现包括:
- 类声明
- 类体
> class student(类名){
// class是关键字
> //类变量
> String name;
> int age;
> //类方法
> public void showname(name){
//void 表示空函数
> System.out.println("名字是"+ name);}
> public int showage(age){
> return age+1;}
>
> 类体内容
> }
实例1:class book
实例2:class exchangeRate
构造方法
特点:
- 没有返回类型,不可定义为void
- 构造方法名称与类名相同
- 作用:完成对象初始化。
示例:
class Book{
public Book(){
//无参构造方法
//public构造方法的修饰符
//Book构造方法的名称
}
}
class Book{
public Book(int args){
//有参构造方法
}
}
实例3:borrowbook
this指针
如果类成员变量与类成员方法的参数名称重复时,需要在类成员方法中用到this指针,指向类成员变量。
static关键字
类的静态成员:
- 静态变量
- 静态常量
- 静态方法
main
主方法是类的主入口。
提供对程序的流向控制。
特性:
- 静态
- 没有返回值
- 形参为数组。( args.length 可获取参数的个数)
VS(抽象方法、构造方法)
1、构造方法constructor:
是类构造对象时调用的方法,主要用来实例化对象。构造方法分为无参构造方法、有参构造方法。
作用:
- 构造一个类的对象。
- 构造类的对象示例初始化
notice:
1)类中必定有构造方法,若不写,系统自动添加无参构造方法
2)不能被static、final、synchronized、abstract和native修饰。所以构造方法不能作为抽象方法。
3)构造方法中可以为成员变量赋值,以完成初始化。
2、抽象方法abstract:
抽象方法是以abstract修饰的方法,这种方法只声明返回的数据类型、方法名称和所需的参数,没有方法体,也就是说抽象方法只需要声明而不需要实现
3、抽象类可以有构造方法。