抽象在java中实际意味着什么?

时间:2017-01-18 21:56:25

标签: java abstract abstraction

abstract class Bank{    
  abstract int getRateOfInterest();    
}    

class SBI extends Bank{    
  int getRateOfInterest(){return 7;}    
} 

class PNB extends Bank{    
  int getRateOfInterest(){return 8;}    
}    

class TestBank{    
  public static void main(String args[]){    
    Bank b;  
    b=new SBI();  
    System.out.println("Rate of Interest is: "+b.getRateOfInterest()+" %");    
    b=new PNB();  
    System.out.println("Rate of Interest is: "+b.getRateOfInterest()+" %");    
  }
}    

所以我在书中和网上看到的是:"抽象是一个隐藏实现细节并仅向用户显示功能的过程。"

所以我的问题是,如果我在Bank类中编写实现,它是否会被隐藏?,用户可以看到该实现吗?

隐藏'隐藏的实际意义是什么?这里吗?

1 个答案:

答案 0 :(得分:-1)

不要将抽象与混淆混淆。抽象可以帮助开发人员专注于接口而不是实现,但这并不意味着实现细节不应该是可达的。

在您的情况下,开发人员可能会专注于班级银行,而不考虑子类SBI和PNB。实现的细节将对用户隐藏,但在某种意义上用户无法找到它们。