小白Java学习笔记d6(面向对象,方法参数值传递,封装

方法的可变个数参数

	/**
	 * 用数组的方式来传递可变个数的参数
	 * @param args
	 */
         public void printInfo(String[] args) {//问题,我们能够打印的信息都来源于方法的参数。方法参数的传递
        	 //我现在可能给方法要传递的不同的参数?
        	 for(int i=0;i<args.length;i++) {
        	 System.out.println(args[i]);
        	 
         }
         }
         /**
          * 用Java特有的。。。的方式来传递可变个数的参数,这种参数在使用时与数组的使用方式相同
          * @param args
          */
         public void printInfo1(String...args) {
        	 for(int i=0;i<args.length;i++) {
            	 System.out.println(args[i]);
            	 
             }
        	 

方法的参数传递

JVM内存模型

 

  

值传递: Java里方法的参数传递方式只有一种。(将实际参数值的副本传入方法中,而参数本身不受影响

基本数据类型,就是把实参复制值

引用对象

方法的参数传递

1.如果方法的形参是基本数据类型,那么实参像形参传递参数时,就是直接传递值,就是把实参的值再复制给形参

2.如果 方法的形参是对象,那么实参(实际的对象)。向形参传递参数时,也是把值传给形参,这个值时实参在栈内存中的值,也就是引用对象在堆的地址

 

基本数据类型保存在栈内存,引用对象在栈内存中保存的时引用对象的地址。那么方法的参数传递是传递值(是变量在栈内存当中的值)

包(概念类似文件夹)Package

层级结构  .    (文件夹套文件夹,如com包下cn下的test包com.cn.test)

import 引包,指明用哪个包里的类   .*全引用

封装和隐藏

有的变量任意赋值可能不符合常理,如年龄=-78,是不对的。这时需要封装。将数据声明为私有的(private),再提供公共的(public)方法。

 

 四种访问权限修饰符

 

public>protected>default>private

 

package d6Test;

public class Person {
	private int age;
	public void printAge(){
		System.out.println("年龄是:"+age);
	}
	public int getAge() {
		return age;
	}
	public void setAge(int a) {
		if(a<=130&&a>=0) {
			age=a;
		}else {
			System.out.println("输入的年龄"+a+"不在范围内");
		}
	}
	

}

//
package d6Test;

public class TestPerson {
	public static void main(String[] args) {
	Person p=new Person();
	p.setAge(23);
	p.getAge();
	p.printAge();
	}
}

构造器

new对象的根本原理:通过类的构造方法

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值