抽象在java中究竟意味着什么?

抽象在java中究竟意味着什么?,java,abstract,abstraction,Java,Abstract,Abstraction,所以我在书中和网上读到的是:“抽象是一个隐藏实现细节并只向用户显示功能的过程。” 所以我的问题是,若我在Bank类中编写实现,它不会被隐藏吗?用户能看到那个实现吗 这里“隐藏”的实际含义是什么?不要混淆抽象和混淆。抽象帮助开发人员关注接口而不是实现,但这并不意味着实现细节不可访问 在您的情况下,开发人员可能只关注类库,而不考虑子类SBI和PNB。实现的详细信息将对用户隐藏,但这并不是说用户如果想找就找不到它们。您应该学会缩进代码,这会让您和其他人更容易阅读。很抱歉,基于您的简单示例,是的,如果程

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

所以我的问题是,若我在Bank类中编写实现,它不会被隐藏吗?用户能看到那个实现吗


这里“隐藏”的实际含义是什么?

不要混淆抽象和混淆。抽象帮助开发人员关注接口而不是实现,但这并不意味着实现细节不可访问


在您的情况下,开发人员可能只关注类库,而不考虑子类SBI和PNB。实现的详细信息将对用户隐藏,但这并不是说用户如果想找就找不到它们。

您应该学会缩进代码,这会让您和其他人更容易阅读。很抱歉,基于您的简单示例,是的,如果程序的其他部分被交给了
Bank
的某个实例,它将不关心
getRateOfInterest
是如何实际计算的,只有
Bank
提供了获取它的方法。例如,
SBI
可以附加额外的功能,但由于程序的其他部分只处理
银行
,因此它们不知道该功能
抽象
具体
相反。i、 e.“抽象地说,你可以采取行动”与“如果你在这里采取行动,就会发生什么”相比,这是一个评论,而不是答案。在获得所需的代表之前,不要滥用系统,将评论作为答案发布。这样做会吸引反对票,并延迟获得所需的代表。
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()+" %");    
  }
}