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

📄 j02080401.java

📁 经典java教材《java完美经典》一书中源码的完全收集
💻 JAVA
字号:
import java.lang.*;

class j02080401
{	 
	public static void main(String[] para)
  {			
		television TV1 = new television("山流",29,26080);		
		System.out.println("公元 2002 年\n" + TV1.getSize() + " 吋 "
		                     + TV1.getBrandName() + "牌电视一台"
		                     + TV1.Cost + "元");
		TV1.Cost = TV1.Cost - 2080;
		System.out.println("杀价后变" + TV1.Cost + " 元");
		System.out.println("long long later.....");		
		modernTV TV2 = new modernTV("宇宙银星");
		System.out.println("宇宙历 KG 52 年\n" + TV2.getSize() + " 吋 "
		                     + TV2.getBrandName() + "牌电视一台"
		                     + TV2.Cost + " 元");
		TV2.setSize(50.5F);
		System.out.println("本月调整后为" + TV2.getSize() + " 吋 ");		
		TV2.broadcast(43);			
		System.out.println("本月点播电影及调整 Size 须付" + TV2.Cost + " 元");
		
		System.out.println("~~~使用 TV1 和 TV2 继承自 Object 的成员~~~");  
		System.out.println("TV1 是 " + TV1.getClass().getName() +" 类的对象");  
		System.out.println("TV2 是 " + TV2.getClass().getName() +" 类的对象");			
  }
}

class television
{
	/*会从 java.lang.Object 继承
	public final native Class getClass()
	protected native Object clone() throws CloneNotSupportedException;
	public String toString()
  ......  
  */
	
	private String brandName;
	protected float Size;
	public int Cost;
	
	public television() {}
	
	public television(String name,float size,int cost)
	{ 
		setBrandName(name,size,cost);
	}
	
	protected void setBrandName(String name,float size,int cost)
	{
		brandName = name;
		Size = size;
		Cost = cost;
	}
	
	public String getBrandName()
	{
		return brandName;
	}
	
	public float getSize()
	{
		return Size;
	}
}

class modernTV extends television implements Cloneable
{
  /*透过 television 从 java.lang.Object 继承
	public final native Class getClass()
	protected native Object clone() throws CloneNotSupportedException
	public String toString()
  ......  
  */
  
  /* 会从 television 继承这些成员
	private String brandName;  // 父类之 private 成员无法直接存取
	protected float Size;
	public int Cost;
	public television()   //构造子不能直接调用
	public television(String name,float size,int cost)    //构造子不能直接调用
	protected void setBrandName(String name,float size,int cost)
	public String getBrandName()  // 间接存取父类之 private 成员
	public float getSize()
  */	
	
	public modernTV(String name)
	{
		setBrandName(name,29,0);  //使用继承而来的protected void setBrandName(String name,float size,int cost)
	}
	
	public void setSize(float size)
	{
		if(size > Size)
				Cost = Cost + (int)(size - Size)*100;		
		Size = size;   // Cost 和 Size 都是继承而来的成员变量
	}
	
	private void setCost(int money)
	{
		Cost = Cost + money; 
	}
	
	public void broadcast(int bcTimes)
	{
		for(int x=1;x<=bcTimes;x++)
		{
			if(x<=20)
				setCost(30);
			else
				setCost(20);			
		}
	}
}

⌨️ 快捷键说明

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