[四]java作业

1.构造函数可否为private、protected?

import java.util.Random;
import java.util.Arrays;

class test {
	public static void main(String[] args) {
		tmp num1=new tmp();
		tmp num2=new tmp(1);
		tmp num3=new tmp(1.0);
		/*int[] num=new int[20];
		java.util.Random r=new java.util.Random();
		for (int i=0;i

输出:

[四]java作业_第1张图片

2.什么时候把父类中的成员属性设置为私有?举例

不希望被外部调用的方法和成员应该设为私有。

例:对外公开的api,无需将api内部调用的函数设为public,只需设为private就行了。

3.举例public、private、defualt、protected在类、类的属性、类的方法调用。

test.java

import show.show;

class test extends show{
	public static void main(String[] args) {
		test num=new test();
		num.showinfo1();
		num.showinfo4();
	}
}

show.java

package show;

public class show {

	public static void main(String[] args) {
		// TODO 自动生成的方法存根
		show num=new show();
		num.showinfo1();
		num.showinfo2();
		num.showinfo3();
		num.showinfo4();
	}
	public void showinfo1()
	{
		System.out.println("public");
	}
	private void showinfo2()
	{
		System.out.println("private");
	}
	void showinfo3()
	{
		System.out.println("default");
	}
	protected void showinfo4()
	{
		System.out.println("protected");
	}
}

class tmp extends show{
	public static void main(String[] args) {
		tmp num=new tmp();
		num.showinfo1();
		//num.showinfo2();//IDE提示不可访问
		num.showinfo3();
		num.showinfo4();
	}
}

4.构造器互相调用

class test {
	private String strtmp;
	public test(int num){
		strtmp=num+" is ";
	}
	public test(String str){
		this(1);
		strtmp+=str;
	}
	public void show(){
		System.out.println(strtmp);
	}
	public static void main(String[] args) {
		test n=new test("int");
		n.show();
	}
}

输出:

1 is int

5.Supper()调用父类指定构造器

class show{
    private int i;
    public show(){
        i=1;
    }
    public void showinfo(){
        System.out.println("i = "+i);
    }
}

class test extends show{
    public test(){
        super();
        showinfo();
        System.out.println("子类");
    }
    public static void main(String[] args) {
        test n=new test();
    }
}
输出:

i = 1
子类


6.完成一个覆盖的例子(修改其返回值)

class show{
	private int i;
	public void show(int i){
		this.i=i;
	}
	public int geti(){
		return i;
	}
}

class test extends show{
	private int i;
	public int geti(){
		return i*i;
	}
	public static void main(String[] args) {
	}
}


7.Super与this的使用,及两个方法名一样参数一样,返回值不一样  举例

class show{
    public int getarea(int i,int j){
        return i*j;
    }
}

class test extends show{
    public double getarea(double i){
        return i*i;
    }
    public static void main(String[] args) {
    }
}


你可能感兴趣的:(Java课后作业,java)