/**
* 1.什么类与对象?
* 类:抽象 的 (几个对象抽共同特征)模板
* 类的分类
* 系统类 System Math
* 自定义类 HelloWorld Person
* 对象:具体的
* 由模板构造出类的具体事物
* 定义一个类:
* 【public】 class 类名{
*
* }
*
* 2.类的成员
* 类的成员属性
* 静态特征:特征
* 类的成员方法
* 动态特征:行为 功能
*
* 3.类的成员属性(成员变量 实例变量)
* 变量
* 局部变量
* 成员变量(实例变量 属性)
* A.作用域不同
* 局部变量 : 方法 代码块
* 成员变量 : 整个类
* B.声明位置不同
* 局部变量 :方法里 代码块里
* 成员变量 :类与方法之间
* C.初始值不同
* 局部变量: 没有初始值
* 成员变量 : 有初始值 整型 0 浮点型 0.0 字符型 '\u0000' 布尔型 false 引用数据类型 null
* 注意:
* 所有变量 在使用之前 必须 1.声明 2.赋值 3.使用
* 语法:
* 【访问权限符】 数据类型 属性名;
* eg: [public] String name
* int age;
*
* 4.类的成员方法
* 功能 行为
* 语法:
* 【访问权限符】 返回值 方法名(参数类型 参数名1,参数类型,参数名2){//参数列表
* 方法体
* }
* eg:
* public void run(){}
* public int sum(int a,int b){
* return a+b;
* }
* 注意:
* 静态方法 通过类名调用 类.方法名(); 通过对象调用 对象名.方法名();(不建议使用)
* 非静态方法 只能通过对象调用 对象名.方法名();
*
* 注意:所有静态的属于类
* 所有非静态的属于对象
* 5.不同类中的实例(实例对象)
*
//自定义类 引用数据类型
//创建(实例对象) 类名 对象名;
Person xm;
//赋值 对象名=new 类名();
xm=new Person();
//合二为一 类名 对象名=new 类名();
Person xh=new Person();
*
* 6.在不同类中 调用非静态的属性 和方法
* 非静态属于对象
* 第一步:先创建对象
* 类名 对象名=new 类名();
* 第二步:通过对象调用属性
* 对象名.属性=值;
* 通过对象调用方法
* 1.什么类与对象?
* 类:抽象 的 (几个对象抽共同特征)模板
* 类的分类
* 系统类 System Math
* 自定义类 HelloWorld Person
* 对象:具体的
* 由模板构造出类的具体事物
* 定义一个类:
* 【public】 class 类名{
*
* }
*
* 2.类的成员
* 类的成员属性
* 静态特征:特征
* 类的成员方法
* 动态特征:行为 功能
*
* 3.类的成员属性(成员变量 实例变量)
* 变量
* 局部变量
* 成员变量(实例变量 属性)
* A.作用域不同
* 局部变量 : 方法 代码块
* 成员变量 : 整个类
* B.声明位置不同
* 局部变量 :方法里 代码块里
* 成员变量 :类与方法之间
* C.初始值不同
* 局部变量: 没有初始值
* 成员变量 : 有初始值 整型 0 浮点型 0.0 字符型 '\u0000' 布尔型 false 引用数据类型 null
* 注意:
* 所有变量 在使用之前 必须 1.声明 2.赋值 3.使用
* 语法:
* 【访问权限符】 数据类型 属性名;
* eg: [public] String name
* int age;
*
* 4.类的成员方法
* 功能 行为
* 语法:
* 【访问权限符】 返回值 方法名(参数类型 参数名1,参数类型,参数名2){//参数列表
* 方法体
* }
* eg:
* public void run(){}
* public int sum(int a,int b){
* return a+b;
* }
* 注意:
* 静态方法 通过类名调用 类.方法名(); 通过对象调用 对象名.方法名();(不建议使用)
* 非静态方法 只能通过对象调用 对象名.方法名();
*
* 注意:所有静态的属于类
* 所有非静态的属于对象
* 5.不同类中的实例(实例对象)
*
//自定义类 引用数据类型
//创建(实例对象) 类名 对象名;
Person xm;
//赋值 对象名=new 类名();
xm=new Person();
//合二为一 类名 对象名=new 类名();
Person xh=new Person();
*
* 6.在不同类中 调用非静态的属性 和方法
* 非静态属于对象
* 第一步:先创建对象
* 类名 对象名=new 类名();
* 第二步:通过对象调用属性
* 对象名.属性=值;
* 通过对象调用方法
* 对象.方法名();
* 电脑类
* 静态特征:属性
* cpu 主板 显卡 声卡 内存条 键盘 鼠标 硬盘 屏幕
* 动态特征:方法
* 玩 敲代码 打游戏 聊天 看电影
*
*1.new Computer()什么用?
* 实例化一个对象
* Computer()构造方法
*2.如何定义一个构造方法
* 语法:
* 【public】 类名(){
*
* }
* 注意:构造方法无返回值
*3.如何调用构造方法
* new 类名();
*4.构造方法的作用
* 初始化成员变量
*5.构造方法重载条件
* A.同一个类
* B.方法名与类名一致
* C.参数列表不同(类型 数目 顺序(类型不同))
* 注意:构造方法重载不写返回值
* 方法重载(两同三不同)
* A.同一个类
* B.方法名相同
* C.参数列表不同(类型 数目 顺序(类型不同))
* 注意:方法重载与返回值无关
* 构造方法中的注意点:
* 1.如果你不编写类的构造方法 编译器会自动添加一个无参的构造方法
* 2.如果你编写了类的带参构造方法 编译器不再提供无参构造方法
* 3.如果仍要使用无参构造方法 必须手动添加无参构造方法
* 编程建议:凡是定义类 都会添加无参构造方法
*