6-1面向对象编程(下)----关键字:static练习

1.static的应用举例
代码:

package test1;
 
public class CircleTest {
 public static void main(String[] args) {
  Circle c1 = new Circle();
  Circle c2 = new Circle();
  Circle c3 = new Circle(3.4);
 
  System.out.println("c1的id:" + c1.getId());
  System.out.println("c2的id:" + c2.getId());
  System.out.println("c3的id:" + c3.getId());
 
  System.out.println("创建的圆的个数为:" + Circle.getTotal());
 }
}
 
class Circle {
 private double radius;
 private int id;
 
 public Circle() {
  id = init++;
  total++;
 }
 
 public Circle(double radius) {
  this.radius = radius;
  id = init++;
  total++;
 }
 
 private static int total;// 记录创建圆的个数
 private static int init = 1001;// 多个对象共享
 
 public double findArea() {
  return Math.PI * radius * radius;
 }
 
 public double getRadius() {
  return radius;
 }
 
 public void setRadius(double radius) {
  this.radius = radius;
 }
 
 public int getId() {
  return id;
 }
 
 public static int getTotal() {
  return total;
 }
 
}

输出:

c1的id:1001
c2的id:1002
c3的id:1003
创建的圆的个数为:3

2.课后练习:账户信息

编写一个类实现银行账户的概念,包含的属性有“帐号”、“密码”、“存款余额”、“利率”、“最小余额”,定义封装这些属性的方法。账号要自动生成。
编写主类,使用银行账户类,输入、输出3个储户的上述信息。
考虑:哪些属性可以设计成static属性。

Account类:

package exer1;
 
public class Account {
 private int id;// 账号
 private String pwd = "000000";// 密码
 private double balance;// 存款余额
 
 private static double interestRate;// 利率
 private static double minMoney = 1.0;// 最小余额
 private static int init = 1001;// 用于自动生成id
 
 public Account() {
  id = init++;
 }
 
 public Account(String pwd, double balance) {
  id = init++;
  this.pwd = pwd;
  this.balance = balance;
 }
 
 public String getPwd() {
  return pwd;
 }
 
 public void setPwd(String pwd) {
  this.pwd = pwd;
 }
 
 public static double getInterestRate() {
  return interestRate;
 }
 
 public static void setInterestRate(double interestRate) {
  Account.interestRate = interestRate;
 }
 
 public static double getMinMoney() {
  return minMoney;
 }
 
 public static void setMinMoney(double minMoney) {
  Account.minMoney = minMoney;
 }
 
 public int getId() {
  return id;
 }
 
 public double getBalance() {
  return balance;
 }
 
 @Override
 public String toString() {
  return "Account [id=" + id + ", pwd=" + pwd + ", balance=" + balance + "]";
 }
}

AccountTest类:

package exer1;
 
public class AccountTest {
 public static void main(String[] args) {
  Account acct1 = new Account();
  Account acct2 = new Account("123456", 2021129);
 
  Account.setInterestRate(0.012);
  Account.setMinMoney(100);
 
  System.out.println(acct1);
  System.out.println(acct2);
 
  System.out.println(acct1.getInterestRate());
  System.out.println(acct2.getMinMoney());
 }
}

输出:

Account [id=1001, pwd=000000, balance=0.0]
Account [id=1002, pwd=123456, balance=2021129.0]
0.012
100.0
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

YY鸟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值