一.面向对象和面向过程
面向过程和面向对象都是程序设计的一种风格(思想)
面向过程:
是以函数(一个一个的功能)为结构进行代码组织,
解决问题时,分析实现所需的步骤,然后一步一步实现即可
代表语言:C语言
相对于面向对象语言,扩展能力差,后期维护难度较大
面向对象:(Object Oriented Programming),简称OOP
是以类为单位组织的,(类:一类问题)
高内聚,灵活度高,低耦合,易扩展,易维护,
public class 人类{
定义人有什么属性(变量)
人有什么功能(方法)
}
典型代表语言:C++,C#,java,Python......
动物类{
动物共有的属性和功能
}
猫 继承 动物{
定义自己特有的属性和功能
}
狗 继承 动物{
定义自己特有的属性和功能
}
面向对象和面向过程是相辅相成的,面向对象离不开面向过程
二. 类和对象
类:具有相同特征的事物的抽象描述,是抽象的、概念上的定义。
对象:实际存在的该类事物的每个个体,是具体的,因而也称为实例。
人类 --> 一类群体 概念
张三 --> 具体的人 对象
电脑 --> 一类电脑
我的电脑 --> 可以使用的,具体的,对象
编程是对现实生活事物的体现,根据现实事物进行抽象(定义)。
先设计类(定义某一类事物的功能)
类中可以定义:
变量 属性 名词
方法 行为 动词
构造方法
块 没有名字的一个代码块
内部类 在类的内部定义类(嵌套}
变量按类型分:
基本数据类型 引用数据类型:用类作为类型,String,数组
变量按位置分:
成员变量(在类中定义)
可以使用基本数据类型,也可以是引用数据类型 java中的变量在使用前都必须初始化
成员变量可不对其初始化,系统会默认进行初始化 (int类型-->0,String类型-->null,boolean-->false)
成员变量可与在成员方法,构造方法,代码块中使用
局部变量(在方法中定义)
局部变量不会自动初始化 方法的参数也是一种局部变量
总结类和对象
类:是一类事物的抽象概念,是一个模型
对象:以类为模板,在内存中创建的实际存在的实例。
三.构造方法
1.构造方法的名字与类名相同
2.定义:构造方法的名字与类名相同,且没有返回值,且不需要使用void修饰
3.特点:类中没有定义时,会默认有一个无参的构造方法,在无参构造方法中为成员变量赋初始 值,我们还可以定义有参的构造方法,通过有参造方法中为成员变量赋初始值 一旦类中 定义了有 参的构造方法,那么默认的无参构造方法便会失效 如果需要,需要显定义无参 构造方法 。
四.方法重载
在一个类中,有多个方法名相同,但参数个数不同,称为方法的重载
如何区分方法名相同的方法: 通过参数的个数,类型,顺序来判断
方法重载的意义:做同一件事,但可以通过传入不同的参数做出不同的处理 方法的重载与方法的 返
public class Student {
// 定义属性
int num;
String name;
String gender;
// 学习
public void study() {
System.out.println("好好学习");
}
// 考试
public void exam() {
System.out.println("认真考试");
}
public static void main(String[] args) {
//第一位学生
Student stu1 = new Student();
stu1.num = 1023;
stu1.name = "GTY";
stu1.gender = "男";
stu1.study();
stu1.exam();
//第二位学生
Student stu2 = new Student();
stu2.num = 1024;
stu2.name = "LLL";
stu2.gender = "女";
stu2.study();
stu2.exam();
}
}
回值没有任何的关系