Java作为一种面向对象编程语言。相比面向过程编程,面向对象解决问题的方式更接近人的思维方式,使人更容易理解。
Java面向过程的基本概念
面向过程的思想总结:系统以对象为中心来组织,对象相互间发送消息,相关的属性和行为被统一到对象上,关注的焦点是对象及对象的职责,使得系统构建更容易,易维护,易扩展,易复用,解决问题的方式更接近人的思维方式,使人更容易理解
面向对象的三大基本特征
- 封装
封装是指将对象的属性和行为结合在一个独立的系统单位内部来尽可能隐蔽对象的内部细节,只向外部提供接口,控制 在程序中属性的读取和修改的访问级别,降低对象间的耦合度(耦合度即模块之间关联程度的度量,耦合度越高,模块之间 的依赖性越强)
- 继承
也称泛化,继承性是子类自动共享父类属性和方法的机制,被继承的类其中的属性和方法也会被继承(考虑访问权限被 定义为privated的属性和方法不可被继承),子类通过继承父类的内容并加入自己特有的新内容来扩展细化,提高代码的复 用率。
- 多态
指同一个命名可具有不同的语义,在方法中,常指在一般类中定义的属性或方法被特殊类继承之后,可以具有不同的数 据类型或表现出不同的行为,对于子类,可用不同的方法代替实现父类的服务的方法。
Java中的类和对象
对象:对象是类的一个实例,有状态和行为(学好Java,new个对象,开玩笑开玩笑……)。
类:类是一个模板,它描述一类对象的行为和状态。
举个栗子,男孩女孩各为一类,其中每个人都为一个对象。
Java中的对象
生活中,每个物体都是一个对象,有自己的行为和属性,例如人的属性有性别,身高,年龄,体重等等;行为有走路,吃饭,睡觉……
在软件中也是这样,软件对象的状态就是属性,方法就是行为(可以将方法类比为C语言中的函数,即用来实现某一功能的代码片段)
Java中的类
类可以看成是创建对象的模板,例如下面代码:
public class People{
String name;
String sex;
int age;
void walking(){
}
void eating(){
}
}
一个类中可以包含以下类型变量:
- 成员变量:成员变量是定义在类中,方法体之外的变量。这种变量在创建对象的时候实例化。成员变量可以被类中方法、构造方法和特定类的语句块访问。
- 局部变量:在方法、构造方法或者语句块中定义的变量称为局部变量,局部变量声明和初始化都在方法中,方法结束后,变量就会自动销毁
- 类变量(也称静态变量):类变量声明在类中,方法体之外,必须用static修饰
创建对象
类名 对象名 = new 类名();
调用该对象的属性和方法:
对象名.属性名 对象名.方法名(实参数)
public class Student{
//静态变量(类变量)
static String a;
//成员变量
String name;
int age;
public static void main (String[] args){
//格式:类名 对象名 = new 类名();
Student s = new Student();
//访问成员变量
s.name = "李华";
s.age = 18;
//访问实例方法
s.study();
}
public void study(){ //学习方法
}
}