zoukankan      html  css  js  c++  java
  • 14_面向对象_01_1 成员变量 成员方法

     

    面向对象的三大特性:封装、继承、多态
    封装:
    包装:
    1.方便携带 ---》 询问方便
    2.保护性
    3.安全性
    封装可以认为是一个保护屏障,防止该类的代码和数据被其他类随意的访问
    如果要访问该类的数据,必须通过指定的方式。
    适当的封装可以让你的代码更容易理解和维护,也增强了代码的安全性。

      狭义的封装:一般是把类中的成员变量隐藏起来,如果需要访问某个隐藏的成员变量,
      提供公共方法对其访问。
    
      广义的封装:范围包罗万象(生活中的各种封装)
    
      封装的步骤
    1.使用权限修饰符private(私有的,私人的,自己的)
    private修饰类中的成员变量  此时类中的成员变量就隐藏起来
    2.提供对应的一对getXxx()方法和setXxx()方法
    		Xxx--》成员变量名      
    

    private(私有的)的含义:
    1.private可以修饰成员变量和成员方法。
    2.private是一个权限修饰符,代表的是最小的权限
    3.被private修饰后的成员变量,只能可以在本类中访问

    成员变量
    1.如果没有手动进行赋值,系统会自动进行赋值(默认值)
    2.成员变量不同的数据类型进行初始化赋值是不同的
    整形(byte short int long)---》0
    浮点型(float double) ---》0.0
    字符型(char) ---》空格
    布尔型(boolean) ---》false
    引用类型(类,string,接口) ---》null

    封装优化1--- this关键字
    this代表所在类的当前对象的引用(地址值),即对象自己的应用
    备注:方法被哪个对象调用,方法中的this就代表那个对象,即谁调用,this就指代谁
    1.就近原则
    this的使用格式:
    this.成员信息名
    通常使用this修饰方法中的变量,解决成员变量被隐藏的问题

    封装优化2-----构造方法
    构造方法的两个作用:
    1.进行对象的创建
    2.用来初始化对象中的成员变量信息
    当一个对象被创建出来的时候,构造方法用来初始化该对象,给对象的成员变量赋值。
    备注:
    放一个类被定义出来的时候,系统会自动给你一个构造方法,是一个没有参数的构造方法
    但是如果在类中自定义带参数的构造方法后,那么就会覆盖掉系统默认提供的无参数的构造方法。
    构造方法定义格式:
    修饰符 构造方法名(参数列表){
    //方法体
    ...
    }

    构造方法名与它所在的类名相同,他没有返回值。
    方法的重载:
    方法的重写:
    标准代码-----JavaBean
    JavaBean 是Java语言编写类的一种标准规范,符合javabean标准类,要求类必须是具体的和公共的,
    并且具有无参数的构造方法,提供用来造作成员变量的set和get方法
    成员变量是私有的,set和get方法是公共的。
    JavaBean标准类
    public class ClasName {
    //成员变量
    //构造方法
    //无参的构造方法【必须】
    //有参的构造方法【建议】
    //成员方法
    //getXxx()
    //setXxx()
    }

    需求1:定义一个学生标准类:姓名,年龄,身高,体重,学号

    容器:
    是将多个数据存储到一起,每个数据成为该容器的元素。
    数组:
    存储数据长度固定的容器,保证多个数据类型要一致。
    数组定义:
    | | 方式一:推荐使用(可以定义多个数组) | header |
    |
    |
    | 格式:数组存储的数据类型[] 数组名称 = new 数组存储的数据类型[长度]; | |
    | | |
    | 如:定义一个长度为5的整形数组 int[] arr= new int[5]; | |
    | 定义一个长度为10的字符串数组 String[] arp = new arp String[10]; | |
    | | |
    | 方式二: | |
    | 格式:数组存储的数据类型[] 数组名称 = {元素1,元素2,元素3,...} | |
    | 如:定义一个存储张三李四王五赵六字符串的数组容器 | |
    | String[] arr = {"张三","李四","王五","赵六"} | |
    | |
    | 方式三:
    | 格式:数组存储的数据类型[] 数组名称 = new 数组存储的数据类型[]{元素1,元素2,元素3,...} | |
    | 如:定义一个存储10,20,30,40的整形数组容器 | |
    | int[] arr = new int []{10,20,30,40} | |
    | 备注:数组有定长特性,长度一旦指定,不可更改。 | |
    数组的访问:
    索引: 每一个存储到数组的元素都会自动拥有一个编号,
    起始值从0开始,这个自动编号就是数组的索引(index)
    可以通过数组中的索引访问数组中的元素。索引不重复唯一。
    格式:
    数组名[索引]

    如:	String[] arr = {"张三","李四","王五","赵六"}    李四
    0--代表的是数组中的第一个元素    1--代表的是数组中的第二个元素,以此类推。。
    	李四=arr[1]
    	赵六 = arr[3]
    数组的长度属性:每个数组都具有长度,而且是固定的
    	格式:
    		数组名.lenth        (没有小括号,有小括号就成方法了)
    获取数组的最大索引值:数组名.lenth-1
    String arr ={};//不为null,长度为0的数组
    

    给数组中的索引对应的位置赋值:
    arr[index]= 值;

    数组遍历:$$$$$$$重点$$$$$$$$$
    数组遍历:就是将数组中的每个元素分别获取出来,就是遍历。
    遍历是数组操作中最重要的一环

  • 相关阅读:
    linux软件安装方式
    docker 安装 jenkins touch: cannot touch ‘/var/jenkins_home/copy_reference_file.log’: Permission denied Can not write to /var/jenkins_home/copy_reference_file.log. Wrong volume permissions?
    [ERR] Node goodsleep.vip:6379 is not empty. Either the node already knows other nodes (check with CLUSTER NODES) or contains some key in database 0.
    Linux 常用命令 服务器间scp 用户 export 创建文件、软连接
    redis 安装 集群 主从 哨兵 docker
    WPF密码框中禁止复制、粘贴
    Application 统计在线人数
    【转义字符】HTML 字符实体< &gt: &等
    SQL语句统计每天的数据
    正则表达式计算代码数
  • 原文地址:https://www.cnblogs.com/rosiness/p/13922835.html
Copyright © 2011-2022 走看看