面向过程:接下来我要做什么事情
面向对象 :
接下来由谁去做
一.类
1.概念
一个具有某些共同特征或行为的群体
例如:代表学生这个群体【这一类事物】
public class Student {
//通过成员变量描述这类事物的属性【静态属性】
/** 姓名 **/
String name;
/** 年龄 **/
int age;
/** 身份证号 **/
String idCard;
/** 电话 **/
String phone;
/** true:男 false:女 **/
boolean sex;
//通过定义方法 描述这类事物行为能力【动态属性】
public void sleep(){
System.out.println("睡觉"+name);
}
public void eat(){
System.out.println("吃饭");
}
public void playGame(){
System.out.println("峡谷一日游");
}
}
public class StudentTest {
public static void main(String[] args) {
Student s1 = new Student();
s1.name="古巨基";
s1.age=36;
s1.idCard="465169161";
s1.phone="10086";
s1.sex=true;
Student s2 = new Student();
s2.name="张根硕";
s2.age=40;
s2.idCard="41651651";
s2.phone="10010";
s2.sex=true;
}
}
例如:代表学生这个群体【这一类事物】
2.语法:
public class 类名{
可编写0-n个成员变量
修饰符 数据类型 变量名1;
修饰符 数据类型 变量名2;
可编写0-n个 成员方法;
修饰符 返回值类型 方法名称(参数){
方法体
}
}
注意:
1.类名大驼峰
2.成员变量小驼峰
3.类和成员变量上方必须写注释
3.设计类维度:
2.1考虑某一群体的共同的特征
2.2.属性特征组合在一起能够区分个体之间的不同
一个类有多个对象
其中的成员变量 代表群体的共同特征[静态属性,不推荐这种说法]
通过成员变量描述这一类事物的属性
文档注释/** **/
一般表示性别男女用 boolean
类中定义的方法
通过定义方法,描述这类事物的行为能力[动态属性,不推荐这种说法]
二.对象
1.概念
一个具体的独立的个体,以一种虚拟,数据化的形式表现
2.语法:
创建对象语法
【类似于把模版复制一次】
类名 对象名 = new 类名( );
类名:自己设计,其他官方设计的类的类名
对象名:本质就是变量名
3.对象的赋值与取值:
3.1对象的赋值:
对象名.属性名字=值;
3.2对象的取值:
对象名.属性名字;
注意:
只有工具类由static方法修饰
对象的内存储
每一个对象,都会复制模版,然后再在堆里开辟自己的空间
4.对象的调用:
对象.方法名( );
5.匿名对象:
1.概念:
没有起名字的对象,没有可引用的地址
2.生命周期:
2.1.被创建时候
2.2.死亡
2.2.1当对象失去引用值的时候----生命周期就结束
2.2.2当GC(垃圾回收站)去回收对象的时候---生命周期结束
匿名对象一般用于只是使用一次的情况,定义一个变量太麻烦的时候
三.构造函数/方法:
1.概念:
一个特殊的方法,他的作用是用来创建对象
2.语法结构:
权限修饰符 类名(形参列表){
//功能体
}
3.注意事项:
3.1构造方法没有返回值【void都没有】
3.2构造方法的名字必须和类名保持一致
3.3不能使用static修饰
3.4修饰符只能是权限修饰符 public private 【不要修饰符的】
3.5.可以进行重载
构造方法不需要特殊调用,在创建对象的时候就是在调用构造方法 使用new
例如:

4.构造方法还有哪些用处:
1.构造方法在创建对象的时候使用
2.构造方法
4.1注意事项:
1.每一个类,都有一个公共的隐式无参数的构造方法
2.一旦显示的书写了构造方法,隐式的就不存在了
3.如果显示书写了有参数的构造方法,顺便手动添加无参数的构造方法
