[四]java作业

来源:互联网 发布:淘宝精品推荐分类 编辑:程序博客网 时间:2024/05/20 00:52

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<num.length;i++) { num[i]=(r.nextInt()%20+20)%20;}for (int i : num) {System.out.print(i+" ");}Arrays.sort(num);System.out.println("");for (int i : num) {System.out.print(i+" ");}//*/}}class tmp{public tmp(){System.out.println("public");}public tmp(int i){System.out.println("private");}public tmp(double i){System.out.println("protected");}}

输出:


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) {    }}


0 0
原创粉丝点击