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]= 值;

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

  • 相关阅读:
    bzoj 4606: [Apio2008]DNA【dp】
    UOJ #206. 【APIO2016】Gap【交互题】
    bzoj 4071: [Apio2015]巴邻旁之桥【splay】
    bzoj 4069: [Apio2015]巴厘岛的雕塑【dp】
    bzoj 4070: [Apio2015]雅加达的摩天楼【spfa】
    洛谷 P3625 [APIO2009]采油区域【枚举】
    bzoj 1178: [Apio2009]CONVENTION会议中心(少见做法掉落!)【贪心+二分】
    bzoj 1179: [Apio2009]Atm【tarjan+spfa】
    洛谷 P3621 [APIO2007]风铃【贪心】
    bzoj 4898: [Apio2017]商旅【Floyd+分数规划+二分】
  • 原文地址:https://www.cnblogs.com/rosiness/p/13922835.html
Copyright © 2011-2022 走看看