在实际程序中学习java类的定义与使用,方法的定义与使用

类的定义和使用

把不同类分开定义,即把year,month,day单独放在一个类中,方便以后继承等多种结构的实现,也符合面向对象的思想。提倡这么做

package 测试;
class BirthdayTest{
 int year,month,day;//成员变量
//成员变量在对象创建后有默认值,整型为0,字符型为空格,布尔型为false,参考类型变量为null
}//创建一个类,新的数据类型BirthdayTest
public class Birthday {
 public static void main(String args[])
 {
   BirthdayTest TomBirth,MarryBirth;//定义两个Birthday类型的变量(参考类型变量)
   TomBirth=new BirthdayTest();//使用new创建对象,并给同一类型的参考类型变量赋值,赋的是TomBirth型对象的地址
   MarryBirth=new BirthdayTest();//所以,TomBirth和MarryBirth相当于指针(被称为句柄),只是不能移动位置,提高了安全性
   TomBirth.year=1998;
   TomBirth.month=10;
   TomBirth.day=28;
   MarryBirth.year =2000;
   MarryBirth.month =12;
   MarryBirth.day =12;
   System.out.println("Tom的生日:"+TomBirth.year+"年"+TomBirth.month+"月"+TomBirth.day+"日");
   System.out.println("Marry的生日:"+MarryBirth.year+"年"+MarryBirth.month+"月"+MarryBirth.day+"日");
   MarryBirth=TomBirth;//俩指向TomBirth指向的对象,原MarryBirth指向的对象没有句柄,成为垃圾,系统自动回收空间
   System.out.println("Marry的生日:"+MarryBirth.year+"年"+MarryBirth.month+"月"+MarryBirth.day+"日");
 }
}

类定义中创建自身的对象:把两个类合成一个类,但不提倡这么做,尽量让主类独立,承担程序入口的功能

package 测试;
public class Birthday{
 int year,month,day;
 public static void main(String args[]) 
 {
  Birthday TomBirth,MarryBirth;
  TomBirth=new Birthday();
  MarryBirth=new Birthday();
  TomBirth.year=1998;
  TomBirth.month=10;
  TomBirth.day=28;
  MarryBirth.year =2000;
  MarryBirth.month =12;
  MarryBirth.day =12;
  System.out.println("Tom的生日:"+TomBirth.year+"年"+TomBirth.month+"月"+TomBirth.day+"日");
  System.out.println("Marry的生日:"+MarryBirth.year+"年"+MarryBirth.month+"月"+MarryBirth.day+"日");
 }
}

二、方法的定义

方法(类似于函数)的定义,调用,传参,重载(重载的方法在一个类中,方法名相同,参数类型,个数,顺序至少有一个不同

package 测试;
class BirthdayTest{
 int year,month,day;//成员变量(类似全局变量)
 void setBirthday(int y,int m,int d)//方法1
 {
   year=y;
   month=m;
   day=d;
 }
 String showBirthday()//方法2
 {
  return ("(年 月 日)"+year+","+month+","+day);
 }
 void printBirthday() {
  System.out.println("生日"+showBirthday());//同一个类中的方法可以相互调用
 }
}
public class Birthday{
 public static void main(String args[])
 {
   BirthdayTest TomBirth,MarryBirth;
   TomBirth=new BirthdayTest();
   MarryBirth=new BirthdayTest();
   TomBirth.setBirthday(1998,10,28);
   MarryBirth.setBirthday(2000,12,12);
   System.out.println("Tom的生日"+TomBirth.showBirthday());
   System.out.println("Marry的生日"+MarryBirth.showBirthday());
   TomBirth.printBirthday();
 }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值