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关键字

  • 相关阅读:
    常见寻找OEP脱壳的方法
    Windows内核原理系列01
    HDU 1025 Constructing Roads In JGShining's Kingdom
    HDU 1024 Max Sum Plus Plus
    HDU 1003 Max Sum
    HDU 1019 Least Common Multiple
    HDU 1018 Big Number
    HDU 1014 Uniform Generator
    HDU 1012 u Calculate e
    HDU 1005 Number Sequence
  • 原文地址:https://www.cnblogs.com/ccjcg/p/14417239.html
Copyright © 2011-2022 走看看