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与 ...
随机推荐
- substring()方法到底做了什么?不同版本的JDK中是否有区别?为什么?
该文章是图说Java系列文章中的一篇 substring(int beginIndex, int endIndex)方法在jdk 6和jdk 7中的实现是不同的.了解他们的区别可以帮助你更好的使用 ...
- oracle的loop
oracle的loop等循环语句的几个用法小例子 --loop循环用法 (输出1到10) ) :; begin loop v_num :; ; --上面退出循环也可以用下面3行 /* if(v_num ...
- 团体程序设计天梯赛 L1-006. 连续因子
Two ways: 1.接近O(n) #include <stdio.h> #include <stdlib.h> #include <math.h> int ma ...
- 团体程序设计天梯赛 L3-012. 水果忍者
/*对于一条满足条件的直线,向下移,直到触碰一条线段的下端点,仍然经过其它线段,该直线仍然满足条件 即以一条线段的下(上)端点作为直线上的一点,求为了经过一条线段的最小.最大斜率值(mink,maxk ...
- Struts2的配置文件中, <package>的作用,<action><result>重名?
问:Struts2的配置文件中, <package>的作用是什么? 答:防止action重名啊,例如前台和后台,总会有很多地方起名重复的! 问:可是访问的时候,不也是访问action吗,能 ...
- 【Asp.net入门04】第一个ASP.NET 应用程序-如何添加Web窗体到网站中
添加Web窗体 本部分内容: 什么是web form 怎样添加web form 1.添加Web窗体到项目中 Web 窗体是一项 ASP.NET 功能,您可以使用它为 Web 应用程序创建用户界面.We ...
- Java基础-Collection子接口之List接口
Java基础-Collection子接口之List接口 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 我们掌握了Collection接口的使用后,再来看看Collection接口中 ...
- JS获取FckEditor的值
不需要在页面引用任何额外的JS文件 //获取编辑器中HTML内容 function getEditorHTMLContents(EditorName) { var oEditor = FCKedito ...
- 科学计算三维可视化---Mlab基础(鼠标选取交互操作)
一:鼠标选取介绍 二:选取红色小球分析 相关方法:科学计算三维可视化---Mlab基础(基于Numpy数组的绘图函数) 1.小球场景初始化建立 import numpy as np from maya ...
- asp.net webapi http请求生命周期
先附上webapi http生命周期图. 原始的图片地址为:https://www.asp.net/media/4071077/aspnet-web-api-poster.pdf