• 可变参数

    • 不知道可能给方法传递多少个参数时使用这个方法
    • 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. 自己整理的常用SQL Server 2005 语句、

    --创建数据库 create database 数据库 go --打开数据库 use 数据库 --删除数据库 drop database 数据库 Go --创建数据表 create table 数据表 ...

  2. StringBuffer类、StringBuilder类详解

    StringBuffer是一个字符串缓冲区,是一个容器,而且长度可变,可以直接操作多个数据类型, 最终会通过toString()方法变成字符串. 容器的功能有: 1.存储 public StringB ...

  3. E - Third-Party Software - 2 Gym - 102215E (贪心)

    Pavel is developing another game. To do that, he again needs functions available in a third-party li ...

  4. 2019.1的IDEA的Pulgins无法使用解决

    第一步 第二步

  5. C++ 操作数据库类

    #pragma once #include <string> #include <windows.h> #include <algorithm> #include ...

  6. Oracle 基础1

    oracle基础 表空间: Oracle数据库对数据的管理是基于表空间的概念来的, 各种数据的以及存储数据的优化, 实际上也是通过优化表空间来实现的 表空间分类: 永久表空间 用来存放表的数据, 视图 ...

  7. 自己组装一台1U服务器

    视频资料链接 自己组装一台1U服务器 执行思路: 1.评估访问了,根据需求确定服务器要求 2.根据要求选择硬件:冗余.稳定等 3.搜索主流服务器参数进行对比,及对比价格 4.咨询IDC机房价格 DIY ...

  8. Q4:Median of Two Sorted Arrays

    4. Median of Two Sorted Arrays 官方的链接:4. Median of Two Sorted Arrays Description : There are two sort ...

  9. luogu P4219 [BJOI2014]大融合

    题解:原来LCT也能维护子树信息,我太Naive了 用LCT维护当前子树节点个数 具体做法维护siz[x]=当前Splay子树和指向当前Splay子树的虚边所代表的节点个数 auxsiz[x]=指向x ...

  10. HTML5 可缩放矢量图形(2)—SVG基础

    参考文档——权威 SVG常识 渲染顺序——后来居上:越后面的元素越可见 单位——可以指定,也可以不指定,默认px,其他:em.%.cm.mm... SVG画布——绘制图像的区域,无限大 SVG视窗—— ...