• 可变参数

    • 不知道可能给方法传递多少个参数时使用这个方法
    • public void printInfo (String[] args) --可以定义一个数组,在调用这个方法适合赋值给一个数组
    • public void aaa (String... args) --用java特有的...来传递可变个数的参数,在使用时,与数组的使用方式相同
    • 如果使用数组,在调用方法是要用 a.printInfo(null);没有参数就要定义一个空数组或者null,而第二种是可以直接使用a.aaa();
    • 如果一个方法有多个形参,可变参数一定要放在所有参数之后
  • 参数的传递
    • 形参:方法声明的参数
    • 实参:方法调用时实际传给形参的参数值
    • java中方法的参数传递只有:值传递
      • 基本数据类型,值是保存在栈中,引用对象,值保存在堆中,栈中保存的是对象在栈中的地址
    • 如果方法形参是剧本数据类型,那么实参像形参传递参数时,就是直接传递值,把这个实参的值复制给形参
    • 如果方法的形参是对象,那么实参向形参传递参数时,也就是吧值给形参,这个值是实参在栈内存中的值,也就是引用对象在堆内存中的地址
      • 基本数据类型都是保存在栈内存中,引用对象是在栈内存中保存的是引用对象的地址,那么方法的参数传递是值传递
  • 包和引用
    • 包 package,和文件夹的概念类似,解决文件太乱和文件重名的问题
    • package 顶层包名.子层包名,可以有层级结构
    • 包名通常小写,类名通常大写
    • 引用 import 使用在不同包中的java类
    • import 包.* 该包下所有类
  • 封装和隐藏
    • 不能开放给调用者的属性需要进行封装和隐藏
    • 通过将数据生命为私有的(private),并提供pubilc的getXX和 setX方法来实现对属性的操作
  • 访问权限修饰符
    • 在同一个java文件中可以写多个class,但是只能有一个pubilc 其他的都是缺省的
  • 构造器(构造方法)
    • 每个类都至少有一个构造器,如果显示定义了构造器,系统不再提供默认构造器,并且一个类可以创建多个重载的构造器
    • 父类的构造器不可被子类继承
    • new对象实际上就是调用类的构造方法
    • 创造器重载为了方便调用,灵活创建出不同需要的对象
  • this
    • 当形参与成员变量重名时,如果在方法内部使用成员变更,必须添加this来表明该变量是类成员
    • this() 构造器内部相互调用的特殊格式 --必须放在构造器首行
    • 使用this()时必须有一个构造器不用this的,不能自己调自己

新年在家学java之基础篇-参数&修饰符&构造器的更多相关文章

  1. 新年在家学java之基础篇-高级类的特性

    继承 extends 子类的共性代码都是继承自父类的,每个子类只要写自己特有的代码 class 子类 extends 父类 继承提高了代码的复用性,提供了多态的前提,但是不要为了某个功能去继承 子类不 ...

  2. 新年在家学java之基础篇--类&方法

    面向对象 面向对象OOP,面向过程POP 面向对象三大特征 封装 继承 多态 类 类由属性(对应类中的成员变量)和行为(成员方法)来构成 类的成员变量可以先声明,不用初始化,有默认值 方法名称如果多个 ...

  3. 新年在家学java之基础篇--循环&数组

    因为“野味肺炎”的肆虐,过年被迫宅家只能吃了睡.睡了吃.这么下次只能长膘脑子空空,不如趁此机会重新学习java基础,为日后做铺垫~ 循环结构: 几种循环:for(::),while(){},do{}w ...

  4. C# 基础之参数修饰符

    参数传参的时候一共有四种传递方式: 一.无修饰符传参 也就是说没有传参修饰符,这种情况传过去的是一个副本,本体是不会被改变的 二.out传参修饰符 在传参的参数全面加一个out: public voi ...

  5. 【Java】基础:常见修饰符(权限修饰符以及abstract、static、final等)与变量的描述

    1. 修饰符 public.protected.private.default abstract.static.final. abstract:抽象类.抽象方法 static:静态变量.静态方法.静态 ...

  6. 小白学Docker之基础篇

    系列文章: 小白学Docker之基础篇 小白学Docker之Compose 小白学Docker之Swarm PS: 以下是个人作为新手小白学习docker的笔记总结 1. docker是什么 百科上的 ...

  7. 你所不知道的库存超限做法 服务器一般达到多少qps比较好[转] JAVA格物致知基础篇:你所不知道的返回码 深入了解EntityFramework Core 2.1延迟加载(Lazy Loading) EntityFramework 6.x和EntityFramework Core关系映射中导航属性必须是public? 藏在正则表达式里的陷阱 两道面试题,带你解析Java类加载机制

    你所不知道的库存超限做法 在互联网企业中,限购的做法,多种多样,有的别出心裁,有的因循守旧,但是种种做法皆想达到的目的,无外乎几种,商品卖的完,系统抗的住,库存不超限.虽然短短数语,却有着说不完,道不 ...

  8. Java基础——protected访问修饰符探讨

    Java基础——protected访问修饰符探讨 根据官方说法:(如图) protected修饰符是可以修饰其他包中的子孙类的,但是我做了个实验,结果发现了一个有趣的现象! 具体请往下看: packa ...

  9. C#中方法的参数修饰符

    做项目久了,有的时候真的需要静下心来认真的总结一下自己所用到的技术,而不是每天依葫芦画瓢,每天忙忙碌碌,到头来不知道自己忙了个啥,学了什么,自己到底掌握了多少知识.所以我想回顾一下C#的基础知识,把重 ...

随机推荐

  1. Android尺寸单位

    px:pixels(像素),1px的长度对应屏幕一个像素点的大小. dp/dip:(density-independent pixels,设备无关像素) sp:scaled pixels(可缩放像素) ...

  2. 留学Essay写作做到精准表达很关键

    很多留学生在essay写作中可以迅速想到合理的中文论点.可是,写出来的英文论点却漏洞百出,不忍直视.在essay写作中我们要如何精准地用英文写出自己内心的独白呢?除了咨询老师,靠自己一样能做到! 1引 ...

  3. SQL审核平台-Yearning安装部署实践

    相关文档: https://guide.yearning.io/ yearning简介 http://python.yearning.io/install/  yearning安装 Yearning ...

  4. 尝试用kotlin做一个app(二)

    导航条 我想实现的效果是这样的 类似于ViewPager的效果,子类导航页面可以滑动,当滑动某个子类导航页面,导航线会平滑地向父类导航移动 ·添加布局 <!--导航分类:编程语言/技术文档/源码 ...

  5. unix中嘚vim编辑器

    在linux家族中,vim编辑器是系统自带的文本编辑器,其功能强大自不必说了. 偶有小白,刚接触linux,要修改某个文本文件,不可能像WINDOWS那样操作,更有甚者,进入VI编辑器后,无法退出以致 ...

  6. IDEA--安装

    1:下载IDEA 官网:http://www.jetbrains.com/idea/download/#section=windows(选择下载.zip) 2:解压 3:破解: 1)在C:\Windo ...

  7. 洛谷 P2341 [HAOI2006]受欢迎的牛|【模板】强连通分量

    题目传送门 解题思路: 先求强联通分量,缩点,然后统计新图中有几个点出度为0,如果大于1个,则说明这不是一个连通图,答案即为0.否则入度为0的那个强连通分量的点数即为答案 AC代码: #include ...

  8. Arduino学习——u8glib库资料整理

    第一部分,u8glib标准语法格式: 本文使用的是DFRobot出品的LCD12864 Shield V1.0 端口占用情况: SPI Com: SCK = 13, MOSI = 11, CS = 1 ...

  9. 7. react 基础 - React Developer Tools 的安装 及 使用

    1. 安装 react 开发调试工具 React Developer Tools 打开 chrome 浏览器访问 chrome://extensions/ 点击右上角的 拓展程序 -> 打开 c ...

  10. bitcoind

    Bitcoin Core Daemon version v0.15.1.0-g7b57bc998f Usage: bitcoind [options] Start Bitcoin Core Daemo ...