day10作业
1.Java中,用{}括起来的代码称为代码块。
代码块分为局部代码块,构造代码块,静态代码块,同步代码块
局部代码块:在方法中出现,限定生命周期,及早释放,提高内存利用率
构造代码块:在类中方法外出现,多个构造方法中相同的代码块放到一起,每次调用构造都执行,并且在构造方法前执行
静态代码块:在类中方法外出现,并加上static修饰符;用于给类进行初始化,在加载的时候就执行,并且只执行一次。一般用于加载驱动,位于主方法类中的静态代码块先于主方法执行。
2.静态代码块——构造代码块——构造方法
3.让类与类之间产生关系,子父类关系。
4.a.提高了代码的复用性
b.提高了代码的维护性
c.让类与类之间产生了关系,是多态的前提
5.a:java只支持单继承,不支持多继承
b:java支持多重继承
6.注意事项:
a:子类只能继承父类所有非私有的成员(成员方法和成员变量)
b:子类不能继承父类的构造方法,但是可以通过关键字super去访问父类的构造方法
c:不要为了部分功能而去继承
继承体现的是一种关系“is a”,如果有两个类A,B,只有他们符合A是B的一种或者B是A的一种,就可以考虑使用继承。
7.A:如果子类中没有这个成员变量就访问父类中的该成员变量,如果子类中有这个成员变量,就默认使用该成员变量。
B:子类中所有的构造方法都会访问父类中的空参构造。
8.在继承中,子类中所有的构造方法都会访问父类中的空参构造。假如父类中没有无参构造,会报错。
有几种解决方式:1.在父类中加一个无参构造;2.在子类中用super关键字取访问父类中的带参构造;3.子类通过this去调用本类中的其他构造方法
9.方法重写是子类重出现了和父类中方法声明一模一样的方法。与返回值类型有关,返回值是一致的;方法重载是本类中出现的方法名一样,参数列表不同的方法,与返回值类型无关。
overload可以改变返回值类型,看参数列表。
this:谁来引用我,我就代表谁
super:代表当前对象父类的引用
this.成员变量:调用本类的成员变量,也可以调用父类的成员变量(本类没有的情况下)
super.成员变量:调用父类的成员变量
class Test_Extends {
public static void main(String[] args) {
/*Son s = new Son();
s.son();*/
Cat c = new Cat();
c.show1();
c.show2();
System.out.println("------------------------");
Dog d = new Dog();
d.show1();
d.show2();
}
}
/*class Father {
private aint num1 = 10;
int num2 = 20;
}
class Son extends Father {
int num1 = 20;
public void son(){
System.out.println(super.num1);
System.out.println(this.num2);
}
}*/
class Animal {
String color = "white";
int legs = 4;
public void show1(){
System.out.println("白色");
}
public void show2(){
System.out.println("有4条腿");
}
}
class Cat extends Animal {
}
class Dog extends Animal {
}
11.1.修饰类,类不能被继承
2.修饰变量,变量就变成了常量,只能被赋值一次
3.修饰方法,方法不能被重写
12.A.final关键字修饰局部变量
1.基本类型,是值不能被改变
2.引用类型,是地址值不能被改变,对象中的属性可以改变。
B.final修饰变量的初始化时机
1.显式初始化(此时成员的默认初始化值0,是无效值)
2.在对象构造完毕前即可(错误:变量 num 未在默认构造器中初始化)
day10作业的更多相关文章
- Day10作业及默写
1,继续整理函数相关知识点,写博客. 2,写函数,接收n个数字,求这些参数数字的和.(动态传参) def func(*number): sum=0 for num in number: sum+=nu ...
- 老男孩Day10作业:主机管理程序
一.作业需求: 1, 运行程序列出主机组或者主机列表 2,选择指定主机或主机组 3,选择主机或主机组传送文件(上传/下载) 4,充分使用多线程或多进程 5,不同主机的用户名,密码,端口可以不同 6,可 ...
- python day10作业答案
2.def func(*args): sum = 0 for i in args: sum=sum+int(i) return sum a=func(2,3,9,6,8) print(a) 3. a= ...
- python day10作业
- day10作业—(闭包迭代器递归)
补充:一个星号的 打散和聚合 a, b , *c = [1,2, 1,4] print( a , b , *c) #1 2 1 4 print(a, b, c) #1 2 [1, 4] *c , = ...
- day10作业(函数实现注册''')
在猜年龄的基础上编写登录.注册方法,并且把猜年龄游戏分函数处理,如 登录函数 注册函数 猜年龄函数 选择奖品函数 '''在猜年龄的基础上编写登录.注册方法,并且把猜年龄游戏分函数处理,如 2. 登录函 ...
- day10 作业
猜年龄升级版 ''' 1. 可以直接玩猜年龄游戏,不需要登录 2. 登录成功后玩猜年龄游戏 3. 猜年龄猜中后,可以选择两次奖品 4. 注册的用户名不能重复注册 ''' import random p ...
- Alpha冲刺——day10
Alpha冲刺--day10 作业链接 Alpha冲刺随笔集 github地址 团队成员 031602636 许舒玲(队长) 031602237 吴杰婷 031602220 雷博浩 031602634 ...
- python 作业
Linux day01 计算机硬件知识整理 作业要求:整理博客,内容如下 编程语言的作用及与操作系统和硬件的关系 应用程序->操作系统->硬件 cpu->内存->磁盘 cpu与 ...
随机推荐
- Mysql分页显示
第一部分:看一下分页的基本原理: mysql explain SELECT * FROM message ORDER BY id DESC LIMIT 10000, 20************* ...
- android studio 卡慢的问题(android studio 3.0)
http://www.jianshu.com/p/0228b7d017bb 想体验一下android studio 3.0的canary版,主要是学习Kotlin.创建项目后,下载相关文件一直不成功. ...
- uoj50【UR#3】链式反应
题解: 令$a(x)$为破坏死光的$EFG$,$f(x)$为方案的$EGF$:$f(x) = x + \int \ \frac{1}{2} f^2(x) a(x) \ dt$; 注意到$f(0)= ...
- Linux下vim 快捷键
vim按d表示剪切 按dd剪切一行 vim命令:命令模式 /关键字 n继续向下查找vim的多行注释: 1.按ctrl + v进入 visual block模式 2.按上下选中要注释的行 3.按大写字母 ...
- 图像处理之CSC性能优化(源码)
1 CSC基本实现 根据前一篇CSC转换的文档了解到,RGB与YUV的变换公式如下: YCbCr(256 级别) 可以从8位 RGB 直接计算,计算公式如下: Y = 0.299 R + 0.587 ...
- Kubernetes集群中Service的滚动更新
Kubernetes集群中Service的滚动更新 二月 9, 2017 0 条评论 在移动互联网时代,消费者的消费行为已经“全天候化”,为此,商家的业务系统也要保持7×24小时不间断地提供服务以满足 ...
- vue的全局指令
vue有四个全局指令:directive.extent.set.component directive:自定义指令 //写一个改变颜色的指令 Vue.directive('amie',function ...
- Logistic Ordinal Regression
sklearn实战-乳腺癌细胞数据挖掘(博客主亲自录制视频教程) https://study.163.com/course/introduction.htm?courseId=1005269003&a ...
- ASP.NET IOC之 AutoFac的认识和结合MVC的使用
这几天研究了解发现AutoFac是个牛X的IOC容器,是.NET领域比较流行的IOC框架之一,传说是速度最快的,~ 据相关资料,相关学习,和认知,遂做了一些整理 优点: 它是C#语言联系很紧密,也就是 ...
- Java并发编程原理与实战二十三:Condition原理分析
先来回顾一下java中的等待/通知机制 我们有时会遇到这样的场景:线程A执行到某个点的时候,因为某个条件condition不满足,需要线程A暂停:等到线程B修改了条件condition,使condit ...