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