⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 第6周作业(重载).txt

📁 叫你如何从一个Java0基础到Java大师
💻 TXT
字号:
1、阅读以下程序,判断程序的运行结果,给打* 的语句写上注释,掌握方法的重载与覆盖
class Cleanser{
	private String s=new String("Cleaner");
	* public void append(String a){
		s=s+" "+a ;
	}
	public void dilute(){
		append("dilute()");
	}
	*public void apply(){
		append("apply()");
	}
	public void scrub(){
		append("scrub()");
	}
	public void print(){
		System.out.println(s);
	}
	public static void main(String[] args){
		Cleanser x=new Cleanser();
		x.dilute();
		x.apply();
		x.scrub();
		* x.print();
	}
}
public class Detergent extends Cleanser{
	public void  scrub(){
		* append("Detergent.scrub()"); 
		super.scrub();
	} 
	* public void foam(){
		append("foam()");
	}
	public static void main(String arg[]){
		Detergent x=new Detergent();
		System.out.println("Subclass has :");
		* x.dilute();
		* x.scrub();
		x.foam();
		* x.print();
		System.out.println("Super class has:");
		* Cleanser.main(arg);
	}
}

2、创建一个汽车类(Car),为其定义两个属性:颜色和型号,为该类创建两个构造函数:
第一个为无形参的构造函数,其过程是将颜色和型号初始化为红色、轿车;第二个须定义两个形参,并将形参的值分别赋给颜色和型号,为该类创建两个方法,分别用来显示颜色和型号。
    创建一个(Car1)类,让其继承Car类,并且在该类中再定义一个属性(生产厂商),为该类创建三个构造函数:
    第一个构造函数须定义三个形参,在这个构造函数中要调用Car类的第二个构造函数,将前两个参数赋给该构造函数,第三个参数用来给生产厂商赋值。
    第二个构造函数带一个形参,把该参数值赋给颜色属性,并将生产厂商属性初始化为“上海大众”。
    第三个构造函数无形参,在该构造函数中要求能调用上面所建的第二个构造函数。
    在该类中定义一个main()方法,分别用上面的三个构造函数创建三个对象,并显示相关对象的各个属性。

3、以下三个文件是上次的习题答案,在C盘根目录建立一个文件夹test,将三个文件放在该目录下,对他们进行打包,将Vehicle.class放到a.b.v包中,将Car1.class和fuel.class放到a.b.c包中。注意:Car1 和 Vehicle 是互相访问的,他们存放在不同的包中,使用时须引入
试着编译三个文件,并运行之。
(1)、Vehicle.java
public class Vehicle{
       public int journey;
       private static int wheelNum;
       private  int loadNum;
       public static void main(String arg[]){
        	Car c=new Car();
         	c.drive();
        	Car1.main(arg);
        }
      public static class Car{
        public String color;
        public String style;
      	public  Car(){
            color="White";
            style="micor car";
        }
        public void drive(){
            Vehicle v=new Vehicle();
            System.out.println(v.journey);
            System.out.println(wheelNum);
            System.out.println(v.loadNum);
         }
      }
      
}
(2)、Car1.java
public class Car1 extends Vehicle.Car implements fuel{
    Car1(){
        super();
        color="red";
        }
     public void burning(){}
     public static void main(String ar[]){
        Car1 c1=new Car1();
        System.out.println(c1.color);
        System.out.println(c1.style)  ;
        Car1.p.setprice(3);
        System.out.println(fuel.p.getprice());
      }
}   
(3)、fuel.java
public interface fuel{
    	void burning();
       	class Price{
        	int price;
        	int getprice(){
            		return price ;
		}
        	void setprice(int x){
            	price=x;
		}
        }
       Price p=new Price();
}

4、阅读下面的程序,对程序中带##的那一条语句进行拆分,要求连着三次运行increment()方法,最后再运行print()方法,掌握this的使用方法
public class Testthis{
	private int i=0;
	//Testthis 
	int increment(){
		i++;
		return this;
	}
	void print(){
		System.out.println("i="+i);
	}
	public static void main (String args[]){
		Testthis x=new Testthis();
		##x.increment().increment().increment().print();
	}
}

5、阅读下面的程序,找出错误,并将其改正,掌握对象间关系的转换
class SuperClass{
	private int x=100;
	public int getx(){
		return x;
	}
}
class Subbie extends SuperClass{
	private int y=200;
	public int gety(){
	    return y;	
	}
}
public class ObjectConvert{
	public static void main(String arg[]){
		SuperClass superA=new SuperClass(),superB;
		Subbie subA=new Subbie(),subB;
		(new ObjectConvert()).useSubAsSuper(subB);
		superB=subA;
		System.out.println("superA.getx():"+superB.gety());
       		System.out.println("superA.getx():"+superb.y);
		subB=superB;
	    	System.out.println(subB.getx()+"  "+subB.gety());
        	System.out.println(subB.x+"  "+subB.y);
	}
	public void useSubAsSuper(SuperClass x){
		System.out.println(x.gety()+"!!!!!!");
	}
}


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -