我是java和android开发的新手。在花了几天使用java之后,我开始使用android开发。关于Context类,我有这个问题。
Context是一个抽象类。除非引用具体的子类,否则无法实例化并且不能用于调用方法。有人能说出如何在应用程序中使用返回上下文类型的调用getApplicationContext(一个小小的片段将会是一个巨大的帮助)。
并且还帮我理解了这个语句Context context = getApplicationContext()getApplicationContext是一个抽象方法,所以当我们使用这个调用时,哪个对象实现了这个?它是当前进程(app)的ContextWrapper对象,它提供了这种方法。
提前致谢。
答案 0 :(得分:1)
您正在实施的活动继承自Activity,而{{3}}继承自Context。还有更多的课程,其中一个为您实现getApplicationContext()
。
抽象类无法实例化,但可以继承,并且可以实例化完全实现其所有抽象方法的任何(或大多数)类。然后,您可以将这些类的实例引用为抽象处理的抽象类。如果你选择老员工的例子,当你计算总薪水时,你不在乎员工是经理还是推销员。
// Employee is an abstract class with an abstract method - getSalary()
a = new ArrayList<Employee>();
a.add(new Manager())
a.add(new Salseman())
for (Iterator i = list.iterator(); i.hasNext();)
{
Employee e = i.next();
System.out.println(e.getSalary());
}