学号 20175201张驰 《Java程序设计》第4周学习总结
学号 20175201张驰 《Java程序设计》第4周学习总结
教材学习内容总结
第5章
继承:避免多个类间重复定义共同行为,用我们已经有的类,去创建新的类
任何子类都可以继承它的父类的成员变量,来作为自己的成员变量
在Java中只有单一继承,即子类只能继承一个父类
子类继承的方法只能操作子类继承和隐藏的成员变量!
「用父类声明对象引用,用子类生成对象」就有了多态。
教材学习中的问题和解决过程
问题1:private 与 protected 的用法?
问题1解决方案:private:private表示私有,私有的意思就是除了class自己之外,任何人都不可以直接使用,私有财产神圣不可侵犯嘛,即便是子女,朋友,都不可以使用。
protected:可以被子类,同package下类使用,不对外公开的访问修饰符。protected对于子女、朋友来说,就是public的,可以自由使用,没有任何限制,而对于其他的外部class,protected就变成private。
问题2:extends的用法?
问题2解决方案:查阅后总结为:继承父类的行为,再扩充父类原本没有的行为。继承时使用extends关键字,private成员也会被继承,但子类无法直接存取,必须通过父类提供的方法来存取(父类愿意提供访问方法的话)
问题3:super的用法?
问题3解决方案:总结为:1.取得父类中的方法定义
2.执行父类中某构造函数
3.与this只能择一调用,而且一定要在构造函数第一行执行
代码调试中的问题和解决过程
问题1:有关abstract的用法
问题1解决方案: 在输入代码的过程中,总是对这个abstract不明白不了解,故上网查询,参考:https://blog.csdn.net/weixin_41715295/article/details/79319805
逐渐了解1,abstract修饰类,会使这个类成为一个抽象类,这个类将不能生成对象实例,但可以做为对象变量声明的类型,也就是编译时类型,抽象类就像当于一类的半成品,需要子类继承并覆盖其中的抽象方法。
2,abstract修饰方法,会使这个方法变成抽象方法,也就是只有声明(定义)而没有实现,实现部分以";"代替。需要子类继承实现(覆盖)。
3.注意:有抽象方法的类一定是抽象类。但是抽象类中不一定都是抽象方法,也可以全是具体方法。
4.abstract修饰符在修饰类时必须放在类名前。
5.abstract修饰方法就是要求其子类覆盖(实现)这个方法。调用时可以以多态方式调用子类覆盖(实现)后的方法,也就是说抽象方法必须在其子类中实现,除非子类本身也是抽象类。
课后练习
所谓“实践是检验真理的唯一标准”,所以为了检查和巩固自己的学习,我用IDEA讲课后习题联系了一遍
(9)选A:A类没有不带参数的构造方法
class A {
public int i=0;
A(int m) {
int i = 1;
}
}
public class B extends A {
super();
B(int m) {
int i = 2;
}
public static void main(String args[])
{
B b = new B(100);
System.out.println(b.i);
}
}
3(1)15.0;8.0
class A{
double f(double x,double y) {
return x+y;
}
}
class B extends A {
double f(int x,int y) {
return x*y;
}
}
public class E {
public static void main(String args[]) {
B b=new B();
System.out.println(b.f(3,5));
System.out.println(b.f(3.0,5.0));
}
}
3(2)11;11
class A{
public int getNumber(int a) {
return a+1;
}
}
class BB extends A {
public int getNumber(int a) {
return a+100;
}
public static void main(String args[]) {
A a= new A();
System.out.println(a.getNumber(10));
BB b=new BB();
System.out.println(a.getNumber(10));
}
}
3(3)98.0;9
class A{
double f(double x,double y) {
return x+y;
}
static int g(int n) {
return n*n;
}
}
class B extends A {
double f(double x,double y) {
double m = super.f(x,y);
return m+x*y;
}
static int g(int n){
int m = A.g(n);
return m+n;
}
}
public class EE {
public static void main(String args[]) {
B b=new B();
System.out.println(b.f(10.0,8.0));
A a= new B();
System.out.println(a.g(3));
}
}
3(4)120;120;120
class A {
int m;
int getM() {
return m;
}
int seeM(){
return m;
}
}
class B extends A {
int m;
int getM() {
return m+100;
}
}
public class EEE {
public static void main(String args[]) {
B b = new B();
b.m = 20;
System.out.println(b.getM());
A a = b;
a.m = -100;
System.out.println(a.getM());
System.out.println(b.getM());
}
}
代码托管
学习进度条
代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 4000行 30篇 400小时
第三周 2197 4/4 10/10 java学习
学号 20175201张驰 《Java程序设计》第4周学习总结的更多相关文章
- 学号 20175329 2018-2019-3《Java程序设计》第九周学习总结
学号 20175329 2018-2019-3<Java程序设计>第八周学习总结 教材学习内容总结 第十五章 泛型 可以使用"class 名称"声明一个类,为了和普通的 ...
- 学号:201521123116 《java程序设计》第二周学习总结
1. 本章学习总结 一:学习了string的类型,string的对象是不可变的,创建之后不能再修改 二:SET PATH/CLASSPATH和-cp的用法. 三:学习了Java API 文档的使用方法 ...
- 学号:201521123116 《java程序设计》第九周学习总结
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常相关内容. 2. 书面作业 本次PTA作业题集异常 1.常用异常 题目5-1 1.1 截图你的提交结果(出现学号) 1.2 自己 ...
- 学号:201521123116 《java程序设计》第一周学习总结
#1. 本章学习总结了解了班级的纪律和期末成绩组成.本周重点学习了java语言的特点具有简单性和结构中立.明白了jdk是java开发人员使用的一种工具,以及编写一个java程序的所需步骤,懂得了jdk ...
- 2018-2019-3《Java程序设计》第二周学习总结
学号20175329 2018-2019-3<Java程序设计>第二周学习总结 教材学习内容总结 第二三章与我们所学习的C语言有很多的相似点,在这里我想主要就以我所学习的效果来讨 ...
- 学号 20175201张驰 《Java程序设计》第8周学习总结
学号 20175201张驰 <Java程序设计>第8周学习总结 教材学习内容总结 第十五章 知识总结: 1.泛型类声明:可以使用"class 名称"声明一个类,例如:c ...
- 学号 20175201张驰 《Java程序设计》第7周学习总结
学号 20175201张驰 <Java程序设计>第7周学习总结 教材学习内容总结 第八章 String类能有效地处理字符序列信息,它的常用方法有: public int length()可 ...
- 学号 20175201张驰 《Java程序设计》第6周学习总结
学号 20175201张驰 <Java程序设计>第6周学习总结 教材学习内容总结 第7章 ·1.Java支持在一个类中声明另一个类,这样的类称作内部类,而包含内部类的类称为内部类的外嵌类 ...
- 学号 20175201张驰 《Java程序设计》第5周学习总结
学号 20175201张驰 <Java程序设计>第5周学习总结 教材学习内容总结 第六章 ·1.接口的接口体中只可以有常量和abstract方法. ·2.和类一样,接口也是Java中一种重 ...
随机推荐
- vue2.0 事件处理常用修饰符-----------------记录,加强记忆。
1,<!-- 阻止单击事件继续传播 --> <a v-on:click.stop="doThis"></a> stop修饰符对应的是阻止冒泡的e ...
- 如何给PDF设置全屏动画
PPT文件可以播放全屏,并且可以实现飞入.分割.闪烁等动画模式播放.那么PDF文件可以吗?我们想要给PDF文件加入动画效果应该怎么做呢,也有很多的小伙伴不知道该怎么把PDF文件切换为全屏动画模式想要知 ...
- 用什么方法给PDF添加页眉页脚
我们所看到的书本中都会设置好有页眉页脚,那么电子书想要添加页眉页脚要怎么操作呢,用什么方法可以在PDF中添加页眉页脚呢,今天就为大家分享一下,如何在电子文件中添加页眉页脚,想知道的小伙伴们就一起来看看 ...
- linux SWAP
1.内存和SWAP之间合理的分配方案 M = Amount of RAM in GB, and S = Amount of swap in GB, then If M < 2, S = M *2 ...
- javac编译后运行提示找不到或无法加载主类
第一种常见错误: package demo_01; public class hello { public static void main(String[] args) { System.out.p ...
- 金蝶k/3 K3密码对照破解源码
金蝶k/3 K3密码对照破解源码 通过密码对照表进行密码破解 以下是源码: VERSION 5.00 Object = "{0ECD9B60-23AA-11D0-B351-00A0C9055 ...
- ansible的Filter
filter的格式: value..| filter() 在python中就是类的实例化 filter(self,*args,**kwargs) self就是filter中管道符前的value. ...
- 咸鱼入门到放弃3--tomcat
Tomcat学习与使用 一. Tomcat安装及配置 二.项目部署(虚拟目录映射) Web应用开发好后,若想供外界访问,需要把web应用所在目录交给web服务器管理,这个过程称之为虚似目录的映射. 虚 ...
- HihoCoder1338 A Game (区间DP)
<题目链接> 题目大意: 两个人轮流从一个序列中取数,他们都面临同样的二选一决策:是拿走最左边的数,还是拿走最右边的数?问先手最多能够得到的分数是多少. 解题分析: 一道比较经典的DP,因 ...
- 思维导图工具XMind
思维导图工具XMind XMind简单介绍 官网地址:https://www.xmind.cn/ XMind 是一个全功能的思维导图和头脑风暴软件,为激发灵感和创意而生.作为一款有效提升工作和生活效率 ...