• 第九天 T3S05


    ****************************************************************************
    类 对象
    ****************************************************************************
    回顾:
    1、方法传参 方法如何调用
    Demo1.java
    2、二维数组的使用
    Demo2.java
    今日内容:
    1、类
    2、对象
    3、关键字 static this
    4、封装

    类:在Java中 类是代码的组织单位,Java代码都需要写在类中
    类的结构:
    class 名字{
    Java代码
    }

    技能点:Java类中的成员 Demo3.java
    1)方法: 静态方法static修饰的 如:main
    非静态方法
    2)属性:成员变量,类的内部同时在所有方法的外部


    【明确】:局部变量:在方法内部 或方法中语句块的内部的变量
    生命周期:执行到所在的代码块的}时,Java就会释放局部变量
    【说明】
    1、在声明完类之后,类里的成员是不在内存中的,类中的方法或属性不能直接使用
    2、要想使用类中的成员,必须把类中的成员放入内存中
    放入的过程称为创建对象的过程
    Demo3 d3=new Demo3();

    使用Demo3中的成员

    对象:就是类在堆内存中的地址
    作用:通过对象来访问类中的成员
    对象名.方法名();
    对象名.属性名;
    【注意】:不要把所有的方法或属性写入一个类中
    把完成同一类功能的方法或属性写入同一个类中

    生活中的相关概念
    对象的概念:某一个明确的、具体的实物
    万物皆对象
    人:分类
    对象
    庞宇航:
    名词,描述一个对象具有什么,称为属性:名字 性别 年龄 身高 体重

    动词,描述一个对象能做什么,称为行为或方法:学习 吃 喝 敲代码 打游戏
    【总结】:对象具有属性、行为

    张旭森使用的电脑:
    属性:品牌 型号 颜色 尺寸
    方法:敲代码 浏览网页 开机 看电影

    郭永刚的保时捷
    属性:品牌 性能 排量 颜色
    方法:拉人 上路 刹车 启动

    人具有分类的本能:
    所有的对象都具有属性、行为:把具有相同属性、方法的对象归为一类
    类:归纳、总结的一类事物的统称,不明确、不具体

    案例:6个动物(对象)
    狗:
    属性:昵称 毛色 年龄 性别
    方法:叫 啃骨头
    使用java代码实现 狗类
    步骤:
    1、找类:原则,具有相同属性、方法的归为一类
    public class Dog{

    }
    2、找类中的属性
    成员变量 String nam;
    3、找类中的方法(动词、行为)

    数据结构:栈 队列
    队列:先到 先处理 后到后处理 吃饱了 拉
    栈: 先进去后出 后进先出 吃饱了 吐
    进入栈 压入栈
    出栈 弹出栈

    创建一个学生类:
    属性:名字 JavaSE分数 JavaWeb分数
    方法:汇报成绩
    我叫XXX 我JavaSE的分数是XXX,我java web分数是XXX

    创建一个main方法的类
    创建两个学生对象,分别给属性赋值,分别调用汇报成绩方法

    问题:
    在PG类中,age是public 或默认的,在TestPG的main方法中,可以随意给age属性赋值
    可以赋无意义的值
    如何避免这种情况?

    private 私有的 用于修饰成员变量(属性)或方法
    如果用于修饰成员变量,那么这个成员变量只能在所在类的内部可以使用,在类的外部通过
    对象.属性名 将无法访问

    那么在类的外部如何访问类中的private成员呢?
    赋值的情况:在PG内部编写一个赋值方法
    public void setAge(int age){
    //对参数值进行有效范围的判断

    }
    获取值得情况,在PG内部编写一个获取值得方法
    public int getAge(){
    return this.age;
    }

    1、变为private
    2、编写赋值方法
    public void setxxx(int age){
    //判断
    }
    3、获取值的方法
    public int getXXX(){
    return age;
    }

    局部变量:声明后就给默认值;
    成员变量:自身就具备默认值

  • 相关阅读:
    INSERT VALUES 语句
    SQL Server UNION
    SQL Server自定义函数(Scalarvalued Functions)
    设计一程序(Copy.java),可以实现文件的复制操作
    Eclipse 乱码 解决方案总结(UTF8 GBK)
    Java Collection: List、Set、 Map、 HashMap、 Hashtable、 Vector
    [Linux内核]从开机加电到main函数执行前的过程
    eclipse设置本地Javadoc API路径
    归并排序的递归和非递归实现(C代码)
    解决安装MySQL5.1出现Cannot create windows service for mysql.error:0
  • 原文地址:https://www.cnblogs.com/wxcsz/p/10623321.html
Copyright © 2020-2023  润新知