概述
JAVA作业④
1.Java的访问控制修饰符有哪些?各有什么访问权限?请对照第7页ppt的表格分别写程序验证。
private:
用 private 修饰的类成员,只能被该类自身的方法访问和修改,而不能被任何其他类(包括该类的子类)访问和引用。因此,private 修饰符具有最高的保护级别。
friendly(默认):
如果一个类没有访问控制符,说明它具有默认的访问控制特性。这种默认的访问控制权规定,该类只能被同一个包中的类访问和引用,而不能被其他包中的类使用,即使其他包中有该类的子类。这种访问特性又称为包访问性。
protected:
用保护访问控制符 protected 修饰的类成员可以被三种类所访问:该类自身、与它在同一个包中的其他类以及在其他包中的该类的子类。使用 protected 修饰符的主要作用,是允许其他包中它的子类来访问父类的特定属性和方法,否则可以使用默认访问控制符。
public:
当一个类被声明为 public 时,它就具有了被其他包中的类访问的可能性,只要包中的其他类在程序中使用 import 语句引入 public 类,就可以访问和引用这个类。
2.子类对于从父类继承的哪些属性与方法是可见的?请分别写程序进行验证。
子类继承了父类的所有属性和方法, 但只有public、protected的属性和方法在子类是可见的。
class Plane{
protected String name;
public void setName(String name){
this.name=name;
}
public String getName(){
return name;
}
}
class FighterPlane extends Plane{
private int num;
public void fire(){
num-=1;
}
}
class Run{
public static void main (String[]args){
FighterPlane p=new FighterPlane();
p.name=“su”;
p.setName(“f”);
p.fire();
}
}
3.什么是组合?有什么作用?请举例说明。
把一个类当成另一个类的组合成分,从而允许新类直接复用该类的public方法。不破坏封装,整体类与局部类之间松耦合,彼此相对独立且具有更好的可扩展性。
class FighterPlane{
public void fire(){
System.out.println(“no fire a missile!”);
}
}
class A{
FighterPlane fp;
public A (FighterPlane fpp){
this.fp=fpp;
}
public void fireMissle(){
fp.fire();
}
}
public class Run{
public static void main(String[]args){
FighterPlane ftp=new FighterPlane();
A a=new A(ftp);
a.fireMissle();
}
}
4.什么是重载?有什么作用?请举例说明。
重载,从简单说,就是函数或者方法有相同的名称,但是参数列表不相同的情形,这样的同名不同参数的函数或者方法之间,互相称之为重载函数或者方法。在java中同一个类中的2个或2个以上的方法可以有同一个名字,只要它们的参数声明不同即可。这种情况下,该方法就被称为重载,这个过程称为方法重载 。
class Parent{
public int getScore(){
return 3;
}
public int getScore(int i){
return i;
}
}
5.什么是覆盖?有什么作用?请举例说明。
覆盖就是父类的方法子类可以访问时,子类通过一个完全一样的函数名和参数覆盖了父类但是函数作用可以不同。类可以通过super使用被覆盖的父类函数。
class Parent{
public int getScore(){
return 3;
}
}
class Son extends Parent{
public int getScore(){
return 4;
}
}
最后
以上就是小巧橘子为你收集整理的JAVA作业④的全部内容,希望文章能够帮你解决JAVA作业④所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复