#20175120彭宇辰 java第四周总结

1751-pyc 2019-03-24 原文

#20175120彭宇辰 java第四周总结

教材学习内容总结

-第五章 子类与继承

子类的定义
-class 子类名 extends 父类名
ps:
-任何类都是object的子类
-每个类有且仅有一个父类,多个或0个子类

同一包里的继承性
-除了private,其他友好类、public类、protected类都被子类继承
不同包里的继承性
-子类只继承public和protected类

protected的说明
-对于子类D自己声明的protected,只要其他类和D在同一个包中,其他类中用D创建的对象就能访问这些protected
-对于子类继承的protected,只要其他类和D的祖先类在一个包中,其他类就能访问protected

instanceof运算符
-左边是对象,右边是类
-左边的对象是右边的类或其子类创建时,instanceof运算结果是true

成员变量的隐藏
-子类对象和自己定义的方法与父类的同名,则父类的内容被隐藏
-子类对象依然可以用从父类继承的方法调用被隐藏的成员变量

方法重写
-继承父类
-方法类型一致或为父类方法子类型
-方法名字、参数个数、参数类型与父类一致
-重写方法时,不能降低方法的访问权限

super关键字
-调用被隐藏的方法c=super.f()
-必须是子类构造方法中的第一条
-子类中默认有super();

final关键字
-修饰类、成员变量、方法中的局部变量
-修饰成员变量,不能有子类
-修饰局部变量,不允许子类重写

abstract关键字
-修饰类、方法
-不能与final同时修饰方法和类
-不能与static同时修饰方法
-抽象类中可以有抽象类方法
-不能用new创建对象
-子类必须重写abstract方法,同时去掉abstract修饰
-abstract类的对象作为上转型对象,调用子类重写的方法

对象的上转型对象
-用法
Animal是Tiger的父类
Animal a;
a=new Tiger();
-教材P126的图5.9!
ps:
-区分父类创建的对象和子类对象的上转型对象
-可以将上转型对象强制转换回子类对象
-不能将父类创建的对象引用赋给子类对象

教材学习中的问题和解决过程

问题1:编译Example5_6时,Example5_6.java使用或覆盖了已过时的 API。
解决方法:源代码中,使用JDK中的类的时候,调用了已经过时的方法。所谓过时方法,是有些没有真正实现的方法,或存在潜在问题的方法。这些方法一般情况下,目前的JDK还支持,但在未来的某个版本中,可能就会取消的。所以,在本地使用的代码不必担心这个问题;要移值到其它计算机的程序必须要解决这个问题。

代码托管:https://gitee.com/pyc-1751/chapter_1_of_java.git
代码量截图:(https://images.gitee.com/uploads/images/2019/0324/211946_4ff43866_4787449.png “微信截图_20190324211431.png”)

上周考试错题总结

下列说法正确的是
A .如果想在方法中使用被隐藏的成员变量,可以使用关键字super。
B .double类型的成员变量的默认值为0,局部变量没有默认值。
C .对成员变量的赋值操作只能放在方法中。
D .面向对象语言中的“类”相当于C语言中的“函数”。
-我误选了B,答案为C
-double型变量的默认值为0.0

下列关于实例方法和类方法的叙述,正确的是
A .类方法不可以操作实例变量,因为在类创建对象之前,实例成员变量还没有分配内存。
B .当创建第一个对象时,类中的实例方法就分配了入口地址,当再创建对象时,不再分配入口地址。
C .实例方法不能通过类名调用,只能由对象来调用。
D .不必创建对象就可以用类名直接调用static方法。
-答案是ABCD,我漏选C
-实例方法可以通过实例变量和类变量来调用
-类方法只能由类变量调用

下列A类中【代码1】~【代码5】哪些是错误的?

class Tom {

private int x = 120;

protected int y = 20;

int z = 11;

private void f() {

x = 200;

System.out.println(x);

}

void g() {

x = 200;

System.out.println(x);

}

}

public class A {

public static void main(String args[]) {

Tom tom = new Tom();

tom.x = 22; //【代码1】

tom.y = 33; //【代码2】

tom.z = 55; //【代码3】

tom.f(); //【代码4】

tom.g(); //【代码5】

}

}
A .【代码1】
B .【代码2】
C .【代码3】
D .【代码4】
E .【代码5】
-答案是AD
-private修饰的对象和方法不能被调用

posted on 2019-03-24 21:23 20175120彭宇辰 阅读() 评论() 编辑 收藏

 

 
版权声明:本文为1751-pyc原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/1751-pyc/p/10590493.html

#20175120彭宇辰 java第四周总结的更多相关文章

随机推荐

  1. python logging 重复写日志问题

    在用logging模块写日志的时候,遇到了日志重复打印的问题。即在同一个脚本中第一次调用,正常显示,第二次调用 […]...

  2. [复试经验]跨考浙大计算机研究生_实验室面试_教训谈

    转载于王道论坛,原文作者为:sjy234sjy234 点击原文链接,可进入原帖。 一、概括下复试 前天终于收到 […]...

  3. CSS和JS标签style属性对照表

       盒子标签和属性对照 CSS语法(不区分大小写) JavaScript语法(区分大小写) border b […]...

  4. JAVA数据库连接详解

    Java数据库连接(JDBC)由一组用 Java 编程语言编写的类和接口组成。JDBC 为工具/数据库开发人员 […]...

  5. 缓冲区溢出攻击实践

    缓冲区溢出攻击方法是黑客入门的基础,本文以具体实例一步步介绍如何进行最初级的缓冲区溢出攻击。   攻击前准备 […]...

  6. 前端基础之标签篇

    前端 HTML 超文本标记语言,是一种标志性的语言,不是编程语言;使分散的网络资源连成一个逻辑整体; 标记:标 […]...

  7. 程序猿们,再不行动就来不及了!

    引言      再不行动就来不及了!   今天这篇文章。不是技术。不是鸡汤,而是一篇对未来畅想的好(shui) […]...

  8. Python爬虫基本原理

    Python爬虫基本原理 网络爬虫(WebSpider):请求网站并提取数据的自动化程序,可以理解为在网络上爬 […]...

展开目录

目录导航