一、面向对象编程
- OOA: 抽取共同特征 学生
名字 性别 年龄
学习
- OOD: 面向对象设计
int age;
String name;
char sex;
void study() {
}
- OOP: 面向对象编程
二、类和对象的含义
-
类 是 对一类事物共有特征的抽象描述 模板
-
对象 是 一个具体的实例
如:
类 | 对象 |
---|---|
手机设计图 | 红米k60手机 |
学生 | 小明 |
水果 | 香蕉 |
三、如何创建类
[权限修饰符] class 类名 {
}
权限修饰符 如 public
目前可加可不加
四、如何创建对象
类名 标识符 = new 类名();
如:
java.util.Scanner input = new java.util.Scanner();
//创建一个学生类
public class Student {
int age;//年龄
String name;//姓名
char sex;//性别
void study(){//方法
System.out.println("学习使我快乐!");
}
}
public class Test{
public static void main (String[] args){
Student s1 = new Student();
System.out.println(s1);//Student@1b6d3586
System.out.println(s1.name);//null
System.out.println(s1.age);//0
System.out.println(s1.sex);//0 /u0000
s1.name = "小明";
s1.age = 19;
s1.sex = '男';
Student s1 = new Student();
s2.name = "小红";
s2.age = 18;
s2.sex = '女';
System.out.println(s1.name);
System.out.println(s1.age);
System.out.println(s1.sex);
}
}
输出:
小明
19
男
每个对象之间是相互独立的
五、类的成员有哪些?
-
属性(成员变量)
-
方法
-
构造器
-
代码块
-
内部块
注意:
- 成员变量:在类中 方法外
- 每创建一个对象 就会在堆中分配一块独立的空间 存储相关成员变量的信息
六、包名相关
包:区分不同模块
包名:一般采用公司网址的倒叙
如:
com.atguigu.项目名
com.atguigu.guigushop.login 登录
con.atguigu.guigushop.cart 购物车
若想使用 java.lang包 或 本包 下的资源 外的资源 就需要导包
java.lang 不需要导包
java.sql 数据库相关
java.io IO流
java.net 网络编程相关
java.util 工具包
注意
包名的声明 必须放到 代码的首行
当一个类中需要使用同名的两个类 那么 必然会有一个类使用全路径/全类名 导入
即 包名 + 类名 com.atguigu.oop2.Student
的方式导入
import com.atguigu.oop1.Student;
public class Test{
public static void main (String[] args){
//创建Student对象
Student s = new Student();//此处的s优先使用 导入包中的类com.atguigu.oop1.Student;
com.atguigu.oop2.Student s1 = new com.atguigu.oop2.Student();
}
}