二刷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基础第八天——面向对象(中)的主要内容,如果未能解决你的问题,请参考以下文章