2021年02月08日调试笔记 Java类和对象(一)

本文为记录自己调试Java的过程。Java初学者。每一个序号为一部分。
注意:以下代码并不是所有的都是对的。只是做一个调试记录!!!!
首先新建一个项目,点击new -> project,设置好项目名称为diyobj。
1.建立一个新的Java class,将这个类命名为Teacher类。
建立其他3个类,分别为notebook类和pen类和subject类。
一个老师的重要信息包括他所教的科目,所用的笔记本和笔。
一个类里面会包含有一个公共类和其他的类,公共类的类名需要和JAVA文件一致。
当在文件里设置多个类之后。IDEA会自动识别,并且会反映在文件的目录中。
Teacher.java下面有4个类
代码如下:

public class Teacher {





}
class notebook{

}
class pen{

}
class subject{


}
/*一个老师的个人信息包括他教的科目,用的笔和笔记本*/





2.一开始建立了FamilyMember类,后来发现这个角度不好描述,所以想改名为Cat类,目前在查阅怎么修改定义好的类文件名。之后没有查阅,直接将类名删掉了。
开始运行,代码如下:

public class Cat {
String sex;
int age;
String name;
void cry(){
    System.out.println("miaomiaomiaomiao~~~~~~~");}
Cat(){};
public static void main(String args[]){
    kitty=new Cat();
    System.out.println("kitty's name is"+kitty.name);
    System.out.println("kitty's age is"+kitty.age);
    System.out.println("kitty's sex is"+kitty.sex);
    kitty.age=10;
    kitty.name="Kitty";
    kitty.sex="female";
    kitty.study();
    tom=new Cat();
    tom.age=100;
    tom.sex="male";
    tom.name="Tom";
    System.out.println("============================");
    System.out.println(" tom's name is"+ tom.name);
    System.out.println(" tom's age is"+ tom.age);
    System.out.println(" tom's sex is"+ tom.sex);
    tom.cry();
}
}

出现错误:
运行错误
错误定位:

  kitty=new Cat();

还有

 tom=new Cat();

正确的语法是定义时对象名前面要加类型名。
改了之后的代码

public class Cat {
String sex;
int age;
String name;
void cry(){
    System.out.println("miaomiaomiaomiao~~~~~~~");}
Cat(){};
public static void main(String args[]){
    Cat kitty=new Cat();
    System.out.println("kitty's name is"+kitty.name);
    System.out.println("kitty's age is"+kitty.age);
    System.out.println("kitty's sex is"+kitty.sex);
    kitty.age=10;
    kitty.name="Kitty";
    kitty.sex="female";
    kitty.study();
    Cat tom=new Cat();
    tom.age=100;
    tom.sex="male";
    tom.name="Tom";
    System.out.println("============================");
    System.out.println(" tom's name is"+ tom.name);
    System.out.println(" tom's age is"+ tom.age);
    System.out.println(" tom's sex is"+ tom.sex);
    tom.cry();
}
}

运行之后出现的错误:
在这里插入图片描述
错误定位

 kitty.study();

没有定义study方法,写错了,只有cry方法。
修改之后运行,成功。
运行结果
程序运行结果
从运行结果中,看出打印的信息和字符串少了一个空格,并且有些赋值后的信息没有打印出来。所以还需要对程序的输出格式进行修改。
修改后的代码如下:

public class Cat {
String sex;
int age;
String name;
void cry(){
    System.out.println("miaomiaomiaomiao~~~~~~~");}
Cat(){};
public static void main(String args[]){
    Cat kitty=new Cat();
    System.out.println("kitty's name is "+kitty.name);
    System.out.println("kitty's age is "+kitty.age);
    System.out.println("kitty's sex is "+kitty.sex);
    kitty.age=10;
    kitty.name="Kitty";
    kitty.sex="female";
    kitty.cry();
    System.out.println("kitty's name is "+kitty.name);
    System.out.println("kitty's age is "+kitty.age);
    System.out.println("kitty's sex is "+kitty.sex);
    kitty.cry();  
    Cat tom=new Cat();
    tom.age=100;
    tom.sex="male";
    tom.name="Tom";
    System.out.println("============================");
    System.out.println(" tom's name is "+ tom.name);
    System.out.println(" tom's age is "+ tom.age);
    System.out.println(" tom's sex is "+ tom.sex);
    tom.cry();
}
}

运行结果如下:
程序最终运行结果
总结:
这个程序主要体现了构造器的作用,无参构造器会把对象的所有属性赋为默认值,用new关键字来调用构造器。
new+构造器并非创建对象,而是对对象初始化。
前面类名加对象名才是创建对象。
可以通过对象名.属性来对对象的属性来赋值。
【不同的对象可以调用同一个方法。】(这句话存疑)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值