新年在家学java之基础篇-参数&修饰符&构造器
- 可变参数
- 不知道可能给方法传递多少个参数时使用这个方法
- 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 其他的都是缺省的

- 在同一个java文件中可以写多个class,但是只能有一个pubilc 其他的都是缺省的
- 构造器(构造方法)
- 每个类都至少有一个构造器,如果显示定义了构造器,系统不再提供默认构造器,并且一个类可以创建多个重载的构造器
- 父类的构造器不可被子类继承
- new对象实际上就是调用类的构造方法
- 创造器重载为了方便调用,灵活创建出不同需要的对象
- this
- 当形参与成员变量重名时,如果在方法内部使用成员变更,必须添加this来表明该变量是类成员
- this() 构造器内部相互调用的特殊格式 --必须放在构造器首行
- 使用this()时必须有一个构造器不用this的,不能自己调自己
新年在家学java之基础篇-参数&修饰符&构造器的更多相关文章
- 新年在家学java之基础篇-高级类的特性
继承 extends 子类的共性代码都是继承自父类的,每个子类只要写自己特有的代码 class 子类 extends 父类 继承提高了代码的复用性,提供了多态的前提,但是不要为了某个功能去继承 子类不 ...
- 新年在家学java之基础篇--类&方法
面向对象 面向对象OOP,面向过程POP 面向对象三大特征 封装 继承 多态 类 类由属性(对应类中的成员变量)和行为(成员方法)来构成 类的成员变量可以先声明,不用初始化,有默认值 方法名称如果多个 ...
- 新年在家学java之基础篇--循环&数组
因为“野味肺炎”的肆虐,过年被迫宅家只能吃了睡.睡了吃.这么下次只能长膘脑子空空,不如趁此机会重新学习java基础,为日后做铺垫~ 循环结构: 几种循环:for(::),while(){},do{}w ...
- C# 基础之参数修饰符
参数传参的时候一共有四种传递方式: 一.无修饰符传参 也就是说没有传参修饰符,这种情况传过去的是一个副本,本体是不会被改变的 二.out传参修饰符 在传参的参数全面加一个out: public voi ...
- 【Java】基础:常见修饰符(权限修饰符以及abstract、static、final等)与变量的描述
1. 修饰符 public.protected.private.default abstract.static.final. abstract:抽象类.抽象方法 static:静态变量.静态方法.静态 ...
- 小白学Docker之基础篇
系列文章: 小白学Docker之基础篇 小白学Docker之Compose 小白学Docker之Swarm PS: 以下是个人作为新手小白学习docker的笔记总结 1. docker是什么 百科上的 ...
- 你所不知道的库存超限做法 服务器一般达到多少qps比较好[转] JAVA格物致知基础篇:你所不知道的返回码 深入了解EntityFramework Core 2.1延迟加载(Lazy Loading) EntityFramework 6.x和EntityFramework Core关系映射中导航属性必须是public? 藏在正则表达式里的陷阱 两道面试题,带你解析Java类加载机制
你所不知道的库存超限做法 在互联网企业中,限购的做法,多种多样,有的别出心裁,有的因循守旧,但是种种做法皆想达到的目的,无外乎几种,商品卖的完,系统抗的住,库存不超限.虽然短短数语,却有着说不完,道不 ...
- Java基础——protected访问修饰符探讨
Java基础——protected访问修饰符探讨 根据官方说法:(如图) protected修饰符是可以修饰其他包中的子孙类的,但是我做了个实验,结果发现了一个有趣的现象! 具体请往下看: packa ...
- C#中方法的参数修饰符
做项目久了,有的时候真的需要静下心来认真的总结一下自己所用到的技术,而不是每天依葫芦画瓢,每天忙忙碌碌,到头来不知道自己忙了个啥,学了什么,自己到底掌握了多少知识.所以我想回顾一下C#的基础知识,把重 ...
随机推荐
- Android尺寸单位
px:pixels(像素),1px的长度对应屏幕一个像素点的大小. dp/dip:(density-independent pixels,设备无关像素) sp:scaled pixels(可缩放像素) ...
- 留学Essay写作做到精准表达很关键
很多留学生在essay写作中可以迅速想到合理的中文论点.可是,写出来的英文论点却漏洞百出,不忍直视.在essay写作中我们要如何精准地用英文写出自己内心的独白呢?除了咨询老师,靠自己一样能做到! 1引 ...
- SQL审核平台-Yearning安装部署实践
相关文档: https://guide.yearning.io/ yearning简介 http://python.yearning.io/install/ yearning安装 Yearning ...
- 尝试用kotlin做一个app(二)
导航条 我想实现的效果是这样的 类似于ViewPager的效果,子类导航页面可以滑动,当滑动某个子类导航页面,导航线会平滑地向父类导航移动 ·添加布局 <!--导航分类:编程语言/技术文档/源码 ...
- unix中嘚vim编辑器
在linux家族中,vim编辑器是系统自带的文本编辑器,其功能强大自不必说了. 偶有小白,刚接触linux,要修改某个文本文件,不可能像WINDOWS那样操作,更有甚者,进入VI编辑器后,无法退出以致 ...
- IDEA--安装
1:下载IDEA 官网:http://www.jetbrains.com/idea/download/#section=windows(选择下载.zip) 2:解压 3:破解: 1)在C:\Windo ...
- 洛谷 P2341 [HAOI2006]受欢迎的牛|【模板】强连通分量
题目传送门 解题思路: 先求强联通分量,缩点,然后统计新图中有几个点出度为0,如果大于1个,则说明这不是一个连通图,答案即为0.否则入度为0的那个强连通分量的点数即为答案 AC代码: #include ...
- Arduino学习——u8glib库资料整理
第一部分,u8glib标准语法格式: 本文使用的是DFRobot出品的LCD12864 Shield V1.0 端口占用情况: SPI Com: SCK = 13, MOSI = 11, CS = 1 ...
- 7. react 基础 - React Developer Tools 的安装 及 使用
1. 安装 react 开发调试工具 React Developer Tools 打开 chrome 浏览器访问 chrome://extensions/ 点击右上角的 拓展程序 -> 打开 c ...
- bitcoind
Bitcoin Core Daemon version v0.15.1.0-g7b57bc998f Usage: bitcoind [options] Start Bitcoin Core Daemo ...