新年在家学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#的基础知识,把重 ...
随机推荐
- leetcode - 两数之和Ⅳ 输入BST(653)
题目描述:给定一个二叉搜索树和一个目标结果,如果 BST 中存在两个元素且它们的和等于给定的目标结果,则返回 true. 解题思路:根据二叉搜索树的特点,对二叉搜索树进行中序遍历可以得到一个从小到达排 ...
- 初学C#之变量、占位符、转义符、还有就是类型转换
㈠.定义变量 先定义再赋值 int Num1; Num1 = ; 定义的同时赋值 ; 定义多个变量同时赋值,先决条件变量类型相同,例如: string phome = "1891250888 ...
- cf1208 E Let Them Slide(差分+RMQ\单调队列)
题意 如题目的图所示,每行都可以左右移动,但是数字不允许断开,且不许越界(宽度为w). 单独求每一列的最大的和为多少. 思路 对于每一列来说,在每一行上都有一个可以取到的区间, 所以,对于一列来说,答 ...
- CodeForces - 131C The World is a Theatre(组合数)
题意:已知有n个男生,m个女生.现在要选t个人,要求有至少4个男生,至少1个女生,求有多少种选法. 分析: 1.展开,将分子中的m!与分母中n!相约,即可推出函数C. #pragma comment( ...
- java 的二分算法
二分算法 就是在 一组 有序 数组中 通过中间值(数组中间的那个数字)的方法 找到 某个数的下标,如果大于中间值 ,则在中间值与最大值之间 的中间值再比较. public class two { // ...
- clion之CMakeLists的学习
什么是CMake CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程).他能够输出各种各样的makefile或者project文件,能测试编译器所支持的" ...
- nginx worker进程循环
worker进程启动后,其首先会初始化自身运行所需要的环境,然后会进入一个循环,在该循环中不断检查是否有需要执行的事件,然后处理事件.在这个过程中,worker进程也是需要与master进程交互的,更 ...
- E - Apple Tree POJ - 2486
E - Apple Tree POJ - 2486 Wshxzt is a lovely girl. She likes apple very much. One day HX takes her t ...
- HDU 2094产生冠军(set思维题)
Problem Description 有一群人,打乒乓球比赛,两两捉对撕杀,每两个人之间最多打一场比赛.球赛的规则如下:如果A打败了B,B又打败了C,而A与C之间没有进行过比赛,那么就认定,A一定能 ...
- 编写shell脚本,使用 nohup 让springboot 项目在后台持续运行
1.将springboot项目打成jar放在linux的某个目录下. 2.新建一个nohup.log文件. 3.使用vi命令新建一个start.sh文件并写下以下内容: #!/bin/sh nohup ...