2020-12-06二维数组/封装/构造方法/构造器应用/带参数的构造器

二维数组

/**
 * 输出
 * 123
 * 456
 * 789
 * @author Administrator
 *
 */
public class TestMulArray {

	public static void main(String[] args) {
		int [][] ints = new int[3][3];
		int num =1;
		for (int i = 0; i < ints.length; i++) {
			for (int j = 0; j < ints[i].length; j++) {
				ints[i][j] = num++;
			}
		}
		
		for (int i = 0; i < ints.length; i++) {
			for (int j = 0; j < ints[i].length; j++) {
				System.out.print(ints[i][j]+"   ");
			}
			System.out.println();
		}
	
	}

}

java语言中类的定义
java语言中对象的创建
对象在jvm中的存储结构
一个java类可以产生N个属于此类型的对象(实例),类是制造对象的模板;对象是类的具体表现形式。

封装

描述对象的信息就是属于此对象类中的成员属性(成员变量)
实例成员属性定义
实例成员属性的访问
访问修饰符
类属性与常量属性
实例属性属于对象,访问(赋值/取值)必须通过对象完成

访问修饰符

关键字描述本类中同包中不同包中
public公共的允许允许允许
protected保护的允许允许子类允许
缺省默认的允许允许不允许
private私有的允许不允许不允许

访问修饰符修饰属性表明此属性可以在哪些范围内可以进行访问,对属性的访问限制能够达到更安全的目的隐藏数据细节,这种机制是面向对象的封装特性。

static 修饰的属性是类属性,归类所有,所有对象共享static属性的值

final修饰的属性变成常量,必须显示赋值,不能在任何时候更改常量的值

静态数据随着类的加载被加载,优先于实例数据

构造方法

构造方法结构与作用
带参数的构造方法
构造方法重载

方法名称与类名完全相同,没有任何返回类型。这样的方法时构造方法(构造器)。

带参数的构造器目的是为了对象成员属性初始化
具体根据业务情况使用不同的构造器为对象进行初始化

构造器应用

package com.xzit.entity;
/**
 * 学生类别,表示学生实体数据
 * @author Administrator
 *
 */
public class Student {
	/**
	 * 定义类的成员实例属性,实例属性数据归对象所有,必须使用对象或对象的引用进行访问
	 */
	public String name;//姓名,public修饰的属性可以被任何地方创建的对象直接访问
	 int age;//却省修饰的属性可以在同一个包内被创建的对象直接访问
	private String address;//private修饰的属性私有,只可以在本类中直接访问
	private char sex;
	private double height;
	//static 修饰的属性是类属性,属于类的特征,其的值被所有属于此类的对象共享
	//static 属性规范使用类型进行访问
	public static String feature = "学习";
	public static final int MAX_AGE =80;
	
	public static void main(String []args) {
		Student student =new Student();
		System.out.println("年龄是"+student.age);
		System.out.println("姓名是"+student.name);
		System.out.println("身高是"+student.height);
		System.out.println("地址是"+student.address);
		System.out.println("性别是"+student.sex);
	}
}
package com.xzit.test;

import com.xzit.entity.Student;

public class TestCreateObject {

	public static void main(String[] args) {
		/**
		 * 通常使用 new 运算符调用自定义类的构造方法实现创建属于这个类的对象(实体)
		 */
		Student student;//声明自定义类型
		student = new Student();//使用构造方法创建对象
		
		Student student0;
		student0 = new Student();
		
		System.out.println(student ==student0);//使用== 判断对象是否相同(是否持有同一个对象的句柄)
		
		Student student2 = student;//对象赋值给对象
		
		System.out.println(student2 == student);//具有同一句柄引用的是对象同一(对象相等)
		System.out.println(student);
		
	}

}
package com.xzit.test;

import com.xzit.entity.Student;

public class TestStaticPro {
		
	public static void main(String []args) {
		Student student = new Student();
		
		Student student0 = new Student();
		
		System.out.println(Student.feature);//使用类名称规范访问
		System.out.println(student.feature);//不提倡使用对象访问static属性
	}
}
package com.xzit.test;
import com.xzit.entity.Student;

public class TestStudent {

	public static void main(String[] args) {
		Student student0 = new Student();
		//对象属性必须通过对象进行访问(赋值和取值)
		student0.name = "令狐冲";
		String nameNew = student0.name;
		System.out.println(nameNew);
	}

}

带参数的构造器

package com.xzit.domain;

public class Employee {
	private String name;
	private int workAge;
	private int sex;
	
	
	//构造方法的第一作用是用来创建对象

	/**
	 * 使用带参数的构造器实现在创建对象是对其进行初始化(为成员属性赋值)
	 * this 关键字在构造器及实例方法,代表指向
	 * @param sex
	 */
	
	
	Employee(String n,int s,int w){
		name = n;
		workAge = w;
		sex = s;
		
		System.out.println(name+workAge+sex);
	}


	public Employee() {
		super();
	}

}

package com.xzit.domain;

public class TestConstructor {

	public static void main(String[] args) {
		Employee employee =new Employee("令狐冲", 1, 4);

	}

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值