1) 面向对象编程(Object Oriented PRogramming ,简称 OOP):20世纪70年代以后开始流行。
2) 结构化编程与面向对象编程的区别:
A.在结构化编程中,程序主要围绕着解决的任务来设计。编写程序就是编写执行特定任务的过程,过程中需要用到的数据通过过程参数传递到过程中。过程可以查看以及改变传递进来的数据,并可以将值返回给调用它的过程。
B. OOP主要围绕着解决的问题中的对象来设计,对于每个对象,我们会编写一个类来描述对象的属性和行为。
3)何为对象和类?
A. 对象:“万物皆对象”、对象由属性和行为组成,属性是对象所具有的特征,行为是对象可以做到动作。
B. 类:类是具有相同属性和行为的一组对象的集合。对象的每个属性被表示为类中的一个成员变量,每个行为成为类中的一个方法。
C. 两者关系:类是对象的抽象(描述),对象是类的实例。
4) 成员变量和局部变量
A.成员变量:在类中声明的变量,有默认值,可以用在一个类的所有地方。
成员变量的数据类型 | 初始值 |
byte | 0 |
short | 0 |
int | 0 |
long | 0 |
float | 0.0 |
double | 0.0 |
char | null |
boolean | flase |
a.成员变量组成部分:
— 访问修饰符(public公用的、private私有的、protected受保护的、默认的)
—数据类型
—成员变量名称(必须是一个有效的标识符)。后面用分号结束例如:/*** 学生* * @author Administrator**/public class Student { /* 属性 成员变量 */ public String name = null; // 姓名 public String sex; // 性别 public int age; // 年龄 public String stuNo; // 学号}
B.局部变量:在方法中声明的变量,没有默认值,仅限于在一个方法中有用。
b.局部变量组成部分:
— 访问修饰符
—返回值
—方法名称(必须是一个有效的标识符)
—参数列表,在括号中出现
例如:
/* 方法 */
访问修饰符 返回值类型 方法名([参数列表]) { 方法主体 -- 待实现的功能代码块 } */ public void introduce() { System.out.println(this.toString()); System.out.println("姓名:" + name + "/n性别:" + sex + "/n年龄:" + age + "/n学号:" + stuNo); }
5)如何创建对象以及访问对象的属性和方法?
对象对象名 = new 对象();
对象名.属性 = 。。。;
例如:import java.util.Scanner;public class StudentTest { public static void main(String[] args) { Scanner input = new Scanner(System.in); /* 创建学生对象 */ Student stu = new Student(); stu.introduce(); // 为对象属性赋值 // 如何调用对象的属性 对象名.属性名 System.out.print("请输入姓名:"); stu.name = input.next(); System.out.print("请输入性别:"); stu.sex = input.next(); // 调用对象的方法,实现自我介绍 // 对象名.方法名([实参列表]); System.out.println("********************"); stu.introduce(); }}
6) this引用:当局部变量与成员变量重名时,使用this。(this指代的是当前对象)
7)包(关键字:package):包声明必须是源代码文件中除注释以外的第一条语句。
例如:
package com.lovo;public class StudentTest { public static void main(String[] args) { Student student = new Student("0051", "王菲", 24); Student stu = new Student(); student.display();}
A.用途:
a.提供了一个组织类的机制。同时可以防止类命名冲突。
b.为包中的类提供了一个命名空间。
B.使用import关键字导入其它包中的类:
a.使用类的全名。例如:pay.Employee;
b.使用关键字import以及通配符(*)导入包。例如:import pay.*;
c.使用关键字import导入类本身。例如:import pay.Employee;
新闻热点
疑难解答