Java的抽象类

本文介绍了Java的抽象类,包括其特点、抽象方法、构造器和模板模式的应用。通过一个具体的“无名的粉”类为例,讨论了如何创建抽象类、构造器以及如何利用模板方法来实现类的行为。同时,文章提到了抽象类在面向对象编程中的作用,以及何时使用抽象类和模板模式。
摘要由CSDN通过智能技术生成

今天学习了Java的抽象类,在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类;抽象来除了不能实例化对象之外,类的其它功能依然存在,成员变量、成员方法、初始化块和构造方法和普通类一样。由于抽象类不能实例化对象,所以抽象类必须被继承,才能被使用。
接下来我们可以通过一些练习题来深入的了解抽象类

1、为“无名的粉”写一个类class WuMingFen

//一般情况下,不允许定义类在default包中,因为default包中的类其它包无法访问
//包名称的命名规则:全小写,采用域名反转
package com.yan;
//类名称,一般名词,采用大写字母开头,大写字母分词
public class WuMingFen {
   
private String theMa;
private int quantity;//采用简单类型定义属性,最大的问题是很难判定是默认值还是赋的值
private boolean likeSoup=true;//按照一般的业务规则,可以一般有汤
//一般在具体开发中,建议采用私有属性,公有的get/set方法的形式定义属性
public String getTheMa() {
   
return theMa;
}
//业务规则:面码一旦告知则不能修改,所以可以不提供这个set方法,则面码属性就是只读属性
public void setTheMa(String theMa) {
   
this.theMa = theMa;
}
public int getQuantity() {
   
return quantity;
}
public void setQuantity(int quantity) {
   
//通过get/set方法可以进行一些参数的合法性验证
if(quantity<1) quantity=1; 
//也可以通过抛出异常终程序运行 throw new RuntimeException()
this.quantity = quantity;
 }
 public boolean isLikeSoup() {
   
 //如果针对boolean类型的属性,默认get方法的命名规则是isXxxx不 是getXxx;但是如果将属性修改为Boolean,则还是getxxx
 return likeSoup;
 }
 public void setLikeSoup(boolean likeSoup) {
   
  this.likeSoup = likeSoup; 
  }
   }

2.写一个构造方法 以便于简化初始化过程 如 WuMingFen f1 = new WuMingFen(“牛肉”,3,true);

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值