昨天前天是周末,摸鱼了,没有学习新的知识,我就只是把前面学的又复习了复习。
今天就学习到了面向对象,很重要的一个内容
数据类型
数据类型在Java中有不少,但是还远远不够,在我们去看一些电商的页面的时候,例如一个手机的页面,会显示有很多的数据,价格,颜色等等。但是Java中并没有手机这个数据类型,这时候我们就要用到自定义的数据类型了
自定义数据类型的定义
当我们在Java中使用自定义的数据类型的时候
class demo1{
public static void main(String[] arsg){
phone p;
}
}
执行的时候发现报错了,显示下面的这个错误
很明显,咱们使用的这个数据类型在Java中没有,咱们就需要自定义数据类型
自定义数据类型的格式
位置:位置应该和使用他的另外一个类处在并列位置,不应该是包含关系
格式:class 变量名{}。然后在phone类中写出来他应该包含的属性
class demo1{
public static void main(String[] args){
phone p;
}
}
class phone{
int price;
String color;
}
执行之后发现正常
自定义数据类型的使用
咱们在phone中定义了数据类型,怎么返回到main方法中呢,代码执行的时候会把phone这个类加载到内存中,然后在堆区开辟一块内存空间,而main方法则在栈区,先运行main方法,在栈区,然后要在堆区开辟内存空间的时候要把cpu的执行全交给堆区,就用到了new关键字。
下面是代码怎么写,一定要注意new后面的phone要加小括号
class demo1{
public static void main(String[] args){
phone p = new phone();
}
}
class phone{
int price;
String color;
}
此时在内存中就相当于把堆区中phone的地址交给了main方法中的p,可以写代码进行测试
class demo1{
public static void main(String[] args){
phone p = new phone();
System.out.println(p);
}
}
class phone{
int price;
String color;
}
然后咱们就可以使用里面的数据了,int类型的默认值是0,String类型的默认值是null,可以输出一下尝试一下
class demo1{
public static void main(String[] args){
phone p = new phone();
System.out.println(p.price);
System.out.println(p.color);
}
}
class phone{
int price;
String color;
}
和分析的一样,说明咱们写的并没有错误
练习
需求:定义一个学生类(年龄,姓名,学号)
要求定义一个数组来存三个学生,并把三个学生的信息输出
分析:
1.创建项目并进行测试
2.定义学生类,并且在里面写上他的属性,年龄,姓名,学号
3.在main方法中创建三个学生对象并且给初始值
4.创建一个数组存入三个学生对象
5.循环输出
class demo01
{
public static void main(String[] args){
//定义第一个学生
Student s1 = new Student();
s1.age = 18;
s1.name = "张三";
s1.id = 1;
//定义第二个学生
Student s2 = new Student();
s2.age = 20;
s2.name = "李四";
s2.id = 2;
//定义第三个学生
Student s3 = new Student();
s3.age = 19;
s3.name = "王五";
s3.id = 3;
//创建一个学生类的数组
Student[] s = {
s1,s2,s3};
//循环输出
for(int i = 0;i<s.length;i++){
System.out.println("学号是:"+s[i].id+",姓名是:"+s[i].name+",年龄是:"+s[i].age);
}
}
}
//定义学生类
class Student
{
//写上学生类的属性
int age;
String name;
int id;
}
学生管理系统(方法+类)
需求:这是一个很简单的学生管理系统,只在控制台输出即可,一共有五个功能:(1)查看学生信息(2)修改学生信息(3)添加学生信息(4)删除学生信息(5)退出系统。 学生信息有学号和姓名。要求main方法中只有一条代码,并且方法分的尽可能细。还要求定义出来一个学生类
分析:
1.创建空白项目并进行测试
2.先创建main方法
3.创建输出的菜单方法,并在main方法中进行测试
public static void menu(){
System.out.println("1:查看学生信息");
System.out.println("2:删除学生信息");
System.out.println("3:增加学生信息");
System.out.println("4:修改学生信息");
System.out.println(