二刷java基础第八天——面向对象(中)

Posted 名字真的很急用

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二刷java基础第八天——面向对象(中)相关的知识,希望对你有一定的参考价值。

public :权限修饰符
static:状态修饰符

权限修饰符:private 私有的。
对所修改的内容,使用的时候,只能在本类中使用,
只能在本类中,操作private修饰的内容。

开发中,所有的成员变量都要加上private?
1.逻辑使用,比较灵活
2.加上private后,其他类无法随意的给成员赋值
3.自己的方法能访问自己的成员变量,其他类是能够访问本类的成员方法
4.让其他类通过本类的成员方法给自己的成员变量赋值

赋值:set
取值:get

private修饰的成员变量细节优化
1.如果没有特殊的需求,再给成员变量赋值的时候,直接赋值即可
2. 给访问private修饰的成员变量的方法命名规范为:set变量名,变量名首字母大写

可变参

  • 格式:数据类型 … 变量名
  • 参数最终变为了数组
  • 可变参必须写在末尾

方法的重载
在同一个类中*,方法名必须相同,其他的无所谓

  • 返回值类型无所谓
  • 参数个数或参数类型必须不同

总结:

  • 见名思意
  • 确保功能的唯一性
  • 确保逻辑的灵活性
  • 规则和代码没有关系

作业代码:

  • 学生类
  • 有参和空参构造
  • private
  • 学号
  • 姓名
  • 添加到数组中,并作打印

需求分析:
第一步:创建项目,并进行测试

第二步:Java没有该类型,需要我们自己去创建

* class  数据类型{
*   构造器;
*  private 变量;
* 
* }

第三步:get,set方法

第四步:调用有参的构造方法,实例化对象

第五步:调用set方法,存值,输出

package BJday10;

import java.util.ArrayList;

public class test03 {
   public static void main(String[] args) {
	  child c = new child();
	   child c2= new child("李俊熙",11202);
	   /*
	  child arr[]=new child[10];
	  
	  c.setId(1110);
	  c.setName("李吉祥");
	  arr[0]=c;
	  arr[1]=c2;
	  for (int i = 0; i < arr.length; i++) {
		if(arr[i]!=null) {
			System.out.println(arr[i].getId());
			System.out.println(arr[i].getName());
		}
		
	}
	 */
	   ArrayList<child> list = new ArrayList<child>();
	   c.setId(1110);
		  c.setName("李吉祥");
		  list.add(c);
		  for (int i = 0; i < list.size(); i++) {
			System.out.println(list.get(i).getId()+"\\n"+list.get(i).getName());
		}
	 
	//  c.printArray("tom",110);
}
}

class child{         //定义一个类
	
	private String name;       //定义类的私有的成员变量
	private int id;
	
	public child() {}
	
	public child(String name,int id) {
		this.id=id;
		this.name=name;
	}
	
	public String getName() {
		return name;
	}
	public void setName(String name) {    //定义get和set方法
		this.name = name;
	}
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	/*
	public void printArray(String name,int id) {   //定义一个数组来存储学生类
		child c = new child();
		  c.setId(id);
		  c.setName(name);
		 child arr[] = new child[1];
		   arr[0]=c;
		for (int i = 0; i < arr.length; i++) {
			System.out.println("学号:"+arr[i].getId());
			System.out.println("姓名:"+arr[i].getName());
		}
	}
	*/
}

以上是关于二刷java基础第八天——面向对象(中)的主要内容,如果未能解决你的问题,请参考以下文章

面向对象第八天----命名空间

第八天(下) 多态

Java基础第八天听课总结--多线程&Thread

二刷java基础第九天——面向对象(下)

二刷java基础第十八天——File类

复习第八天