zoukankan      html  css  js  c++  java
  • java小知识对象

    面向对象:当实现一个功能的时候,不看步骤,直接找具有该功能的人
    面向过程:当需要实现一个功能的时候,需要亲历亲为,详细每个步骤


    类和对象的关系
    类是对一类事物的抽象
    对象是一类事务的具体
    类是对象的模板,对象是类的实体


    类的定义
    用模拟学生事务
    属性:姓名,年龄,学号,班级等等
    行为:(能做什么)吃饭,睡觉.........等
    属性就是成员变量
    成员方法就是行为
    成员变量:直接写在类中的变量
    成员方法:成员方法不写static关键字


    通常一个类不能直接使用,需要根据类创建一个对象才能使用
    1导包:也就是指出需要使用什么类,在什么位置
    impor 包名称.类名称;
    对于和当前类属于同一个包的情况下,可以省略导包
    2创建,格式
    类名称 对象名=new 类名称();
    3使用,分两种情况;
    使用成员变量:对象名字.成员变量名
    使用成员方法:对象名字.成员方法(如果需要参数,需要填写参数)


    局部变量和成员变量的区别
    1定义的位置不一样
    局部变量在方法的内部
    成员变量在方法外面面直接写在类中
    2作用范围不一样
    局部变量的使用范围只能在方法中使用,出了方法就不能使用了
    成员变量的使用范围是整个类都可以使用
    3默认值不一样
    局部变量没有默认值,如果的进行赋值是无法使用的
    成员变量又默认值,规则和数组一样
    4内存位置不一样
    局部变量位于栈内存
    成员位于堆内存
    5生命周期不一样
    局部变量随着方法进栈而诞生,随着方法出栈而消失
    成员变量随着对象创建诞生,随着对象被垃圾回收而消失


    面向对象的三大特征
    1封装性在java当中体现
    1方法就是一种封装
    2关键字private也是一种封装
    封装就是把一些细节信息都隐藏起来,对于外界都不可见


    问题描述,定义年龄的时候,无法阻止不合理的数组被设置进来(类年龄是int类型)
    解决方案:用private关键字将需要保护的成员变量进行修饰;

    一旦使用了private关键字,那么本类中还可以访问,但是超出本类就不能直接访问了
    间接访问private成员变量,就是定义一堆get/set方法
    必须叫setXXX或者getXXX命名规则
    对于get不能有参数,返回值类型和成员变量类型一致;
    对于set方法不能有返回值,参数类型必须和成员变量一致
    对于基本类型的当中的boolean值,get方法要写成isXXX的形式,而set的不变
    当方法中的局部变量和类成员变量名字一样的话,根据就近原则优先使用局部变量
    如果想访问本类中的成员变量需要使用格式
    this.成员变量
    通过谁调用的方法。谁就是this


    构造方法
    构造方法是专门创建对象的方法,我们通过关键是new来创建对象时,其实就是在调用构造方法
    格式
    public 类名(参数类型 参数名称){
    方法体
    }
    注意构造方法名称必须和类相同完全一样
    构造方法不要写返回值连void也不写


    定义一个标准的类
    一个标准的类有四个部分组成
    1所有成员变量都需要使用private私有化
    2为每个成员变量编写get set方法
    3编写一个无参的构造方法
    4编写一个有参数的构造方法
    静态方法不能使用this关键字

  • 相关阅读:
    MySQL如何把varchar类型字段转换成int类型进行倒叙排序
    MySQL如何使用WITH ROLLUP函数
    MySQL数据库行转列
    SQLserver数据库如何使用SQL语句查看数据库版本
    MySQL数据库如何使用SQL语句查看数据库版本
    js刷新页面
    asp.net core控制器方法返回输出
    asp.net mvc在页面显示HTML字符串
    Convert.ToString()
    三种通信方式 转载
  • 原文地址:https://www.cnblogs.com/ccjcg/p/14417239.html
Copyright © 2011-2022 走看看