zoukankan      html  css  js  c++  java
  • java29

    1.封装小练习--长方形
    创建长方形类
    使用getset方法
    利用返回值方法计算长方形的面积,周长。
    保证长方形的长宽为整数
    2.继承小练习--猫狗
    要求有动物的颜色,几条腿,各自的职责
    并将以上颜色,腿字段在父类中私有化
    当父类中有构造器时,子类也要有构造器,并且要求设置的参数相同

    //自己的low方法
    class Animal{
    	String color;
    	int leg;
    	void eat() {
    		System.out.println("吃东西");
    	}
    }
    class Dog extends Animal{
    	Dog(String c,int l){
    		System.out.println("狗的颜色是"+c+","+"腿有"+l+"条");
    	}
    	void work() {
    		System.out.println("汪汪汪");
    	}
    }
    class Cat extends Animal{
    	Cat(String c,int l){
    		System.out.println("猫的颜色是"+c+","+"腿有"+l+"条");
    	}
    	void work() {
    		System.out.println("逮老鼠");
    	}
    }
    
    public class 继承练习 {
    public static void main(String[] args) {
    	Dog d = new Dog("白色",4);
    	d.work();
    	Cat c = new Cat("黄色",4);
    	c.work();
    }
    }
    【狗的颜色是白色,腿有4条
    汪汪汪
    猫的颜色是黄色,腿有4条
    逮老鼠】
    
    改进后:
    class Animal{
    	private String color;
    	private int leg;
    	Animal(String color,int leg){
    		this.color = color;
    		this.leg = leg;
    	}
    	
    	public String getColor() {
    		return color;
    	}
    
    	public int getLeg() {
    		return leg;
    	}
    
    	void eat() {
    		System.out.println("吃东西");
    	}
    }
    class Dog extends Animal{
    	Dog(String c,int l){
    		super(c,l);
    	}
    	void work() {
    		System.out.println("汪汪汪");
    	}
    }
    class Cat extends Animal{
    	Cat(String c,int l){
    		super(c,l);
    	}
    	void work() {
    		System.out.println("逮老鼠");
    	}
    }
    
    public class 继承练习 {
    public static void main(String[] args) {
    	Dog d = new Dog("白色",4);
    	System.out.println("dog");
    	d.work();
    	System.out.println(d.getColor());
    	Cat c = new Cat("黄色",4);
    	System.out.println("cat");
    	c.work();
    	System.out.println(d.getLeg()+"条腿");
    }
    }
    【dog
    汪汪汪
    白色
    cat
    逮老鼠
    4条腿】
    优点:将数据私有化,保证了数据的安全性。并且想输出动物的哪个属性就输出哪个属性,不用全部输出
    

    getset方法
    优点:

    确保数据的合理性
    若使用syso方法输出数据,则需要get方法来获取
    3.多态小练习--超人谈生意
    4.大概念:
    代码块:直接定义在类中或方法中的{ }。
    定义在代码块中的变量为局部变量
    分类:
    局部代码块:定义在方法中,执行方法时才会被调用
    初始化代码块:定义在类中(所以其实是构造器后的{ }), 调用一次构造器就执行一次(隐藏的存放在构造器中)
    静态代码块:static{ } ,只执行一次,随着字节码的加载而加载。
    在main方法之前执行,所以打印出的结果会在最前面

    -------小回顾
    -1如何调用父类中被隐藏的字段
    System.out.println(super.被隐藏的字段名称);

    -2如何调用父类中被覆盖的方法
    在子类方法中使用super.父类名称
    -3如何调用父类中被隐藏的方法
    在main方法中使用父类名.方法名

    -3方法的覆盖(子类和父类中相同名称的非静态方法)
    方法的隐藏(子类和父类中相同名称的静态方法)

    -4本类字段的隐藏(在同一个类中,字段名称和方法中参数的名称相同)
    调用本类:this.字段名称
    调用方法字段:直接写字段名称

    -5方法的重载:同一个类中,方法名称相同,但传参个数不同
    方法的覆盖:子类和父类中相同的方法签名(方法名称和传参个数)

  • 相关阅读:
    highcharts 时间少8小时问题
    Spring声明式事务配置管理方法
    jetty简介
    java事务管理
    oracle表中某个字段含有字符回车、空格的手动修改方式
    java环境变量配置
    JAVA解析XML的四种方式
    JSON-lib框架,JAVA对象与JSON、XML之间的相互转换
    Java WebService简单实例
    HTTP协议报文、工作原理及Java中的HTTP通信技术详解
  • 原文地址:https://www.cnblogs.com/-zero/p/10366128.html
Copyright © 2011-2022 走看看