• 刘志梅 201771010115 《面向对象程序设计(java)》 第七周学习总结


    实验七 继承附加实验

    实验时间 2018-10-11

    1、实验目的与要求

    1)进一步理解4个成员访问权限修饰符的用途

    即将类中的域标记为private,而方法标记为public。任何声明为private的内容对其他类都是不可见的。超类中的某些方法允许被子类访问,或允许子类的方法访问超类的某个域,此时将这些方法或域声明为protected。

    1.仅对本类可见——private    2.对所有类可见——public   3.对本包和所有子类可见——protected    4.对本包可见——默认,不需要修饰符。

    2)掌握Object类的常用API用法

    a、equals方法:该方法用于检测一个对象是否等于另一个对象,在Object类中,这个方法将判断两个对象是否具有相同的引用,equals具有以下特性:自反性、对称性、传递性、一致性、对于非空引用x,x.equals(null)应返回false。

    b、hashCode方法:散列码是由对象导出的一个整型值,散列码是没有规律的(如果重新定义equals方法,就必须重新定义hashCode方法;equals与hashCode的定义必须一致)。

    c、toString方法:用于返回表示对象值的字符串,且绝大多数的toString方法都遵循格式:类的名字然后是一对方括号括起来的域值。

    3)掌握ArrayList类用法与常用APIArrayList是一个采用类型参数的泛型类。

    4)掌握枚举类使用方法;

    5)结合本章知识,理解继承与多态性两个面向对象程序设计特征,并体会其优点;

    6)熟练掌握Java语言中基于类、继承技术构造程序的语法知识(ch1-ch5)

    7)利用已掌握Java语言程序设计知识,学习设计开发含有1个主类、2个以上用户自定义类的应用程序。

    2、实验内容和步骤

    实验1  补充以下程序中主类内main方法体,以验证四种权限修饰符的用法。

    public class TEST1 {

    private String t1 = "这是TEST1的私有属性";

    public String t2 = "这是TEST1的公有属性";

    protected String t3 = "这是TEST1受保护的属性";

    String t4 = "这是TEST1的默认属性";

    private void tese1() {

    System.out.println("我是TEST1private修饰符修饰的方法");

    }

    public void tese2() {

    System.out.println("我是TEST1public修饰符修饰的方法");

    }

    protected void tese3() {

    System.out.println("我是TEST1protected修饰符修饰的方法");

    }

    void tese4() {

    System.out.println("我是TEST1无修饰符修饰的方法");

    }

    }

    public class TEST2 extends TEST1{

    private String e1 = "这是TEST2的私有属性";

    public String e2 = "这是TEST2的公有属性";

    protected String e3 = "这是TEST2受保护的属性";

    String e4 = "这是TEST2的默认属性";

    public void demo1() {

    System.out.println("我是TEST2public修饰符修饰的方法");

    }

    private void demo2() {

    System.out.println("我是TEST2private修饰符修饰的方法");

    }

    protected void demo3() {

    System.out.println("我是TEST2protected修饰符修饰的方法");

    }

    void demo4() {

    System.out.println("我是TEST2无修饰符修饰的方法");

    }

    }

    public class Main {

    public static void main(String[] args) {

    TEST2 test2 = new TEST2();

    /*以下设计代码分别调用 demo1 demo2 demo3 demo4 test1 test2 test3 test4方法和t1 t2 t3 t3 e1 e2 e3 e4属性,结合程序运行结果理解继承和权限修饰符的用法与区别*/

    }

    }

    public class TEST1 {
          private String t1="这是TEST1私有属性";
          public String t2="这是TEST1共有属性";
    	  protected String t3="这是TEST1受保护的属性";
          String t4="这是TEST1的默认属性";
          private void tese1() {
        	  System.out.println("我是TEST1用private修饰符修饰的方法");
    	  }
          public void tese2() {
        	  System.out.println("我是TEST1用public修饰符修饰的方法");
          }
          protected void tese3() {
        	  System.out.println("我是TEST1用protected修饰符修饰的方法");
          }
          void tese4() {
        	  System.out.println("我是TEST1无修饰符修饰的方法");
          }
    }
    

      

    public class TEST2 extends TEST1 {
          private String e1="这是TEST1私有属性";
          public String e2="这是TEST1共有属性";
    	  protected String e3="这是TEST1受保护的属性";
          String e4="这是TEST1的默认属性";
          public void demo1() {
        	  System.out.println("我是TEST2用public修饰符修饰的方法");
    	  }
          private void demo2() {
        	  System.out.println("我是TEST2用private修饰符修饰的方法");
          }
          protected void demo3() {
        	  System.out.println("我是TEST2用protected修饰符修饰的方法");
          }
          void demo4() {
        	  System.out.println("我是TEST2无修饰符修饰的方法");
          }
    }
    

      

    public class Main {
    
    	public static  void main(String[] args) {
    		TEST2 test2=new TEST2();
            /*下面分别调用demo1 demo2 demo3 demo4 test1 test2 test3 test4方法和t1 t2 t3 t4 e1 e2 e3 e4属性,好好理解继承和权限的用法和区别*/
    		
    	}
    
    }
    

      运行结果:

     

    实验2  第五章测试程序反思,继承知识总结。

    测试程序1

    Ÿ 编辑、编译、调试运行教材程序5-85-95-10(教材174-177页);

    Ÿ 结合程序运行结果,理解程序代码,掌握Object类的定义及用法;

    实验结果:

    测试程序2

    Ÿ 编辑、编译、调试运行教材程序5-11(教材182页);

    Ÿ 结合程序运行结果,理解程序代码,掌握ArrayList类的定义及用法;

    实验结果:

    测试程序3

    Ÿ 编辑、编译、调试运行程序5-12(教材189页);

    Ÿ 结合运行结果,理解程序代码,掌握枚举类的定义及用法;

    实验结果:

    实验3采用个人账号登录https://pintia.cn/完成《2018秋季西北师范大学面向对象程序设计(Java)(ch1-ch5)测试题2》,测试时间60分钟;

    实验4: 课后完成实验3未完成的测试内容。

    实验总结:通过本周实验,我知道了Object是所有类的父类,ArrayList是动态数组,ArrayList内部封装了一个Object类型的数组,理解了四种权限修饰符;在本章学习中明白继承与多态,通过实验的实际操作有助于更好地理解知识内容,同时通过实验明白自己所欠缺及改进、学习的地方。

  • 相关阅读:
    js递归优化
    音视频混流
    JS的发布订阅模式
    redhat7.4 docker run启动容器报错container_linux.go:449
    使用Docker部署vue的前端应用过程
    Mac下安装pip
    powerDesigner 把name项添加到注释
    SQL SERVER 2012 连接报错
    CentOS minimal 安装图形界面
    SQLServer2008卸载后重装问题
  • 原文地址:https://www.cnblogs.com/LZM7343/p/9785728.html
Copyright © 2020-2023  润新知