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作业的更多相关文章

  1. Day10作业及默写

    1,继续整理函数相关知识点,写博客. 2,写函数,接收n个数字,求这些参数数字的和.(动态传参) def func(*number): sum=0 for num in number: sum+=nu ...

  2. 老男孩Day10作业:主机管理程序

    一.作业需求: 1, 运行程序列出主机组或者主机列表 2,选择指定主机或主机组 3,选择主机或主机组传送文件(上传/下载) 4,充分使用多线程或多进程 5,不同主机的用户名,密码,端口可以不同 6,可 ...

  3. 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= ...

  4. python day10作业

  5. 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 , = ...

  6. day10作业(函数实现注册''')

    在猜年龄的基础上编写登录.注册方法,并且把猜年龄游戏分函数处理,如 登录函数 注册函数 猜年龄函数 选择奖品函数 '''在猜年龄的基础上编写登录.注册方法,并且把猜年龄游戏分函数处理,如 2. 登录函 ...

  7. day10 作业

    猜年龄升级版 ''' 1. 可以直接玩猜年龄游戏,不需要登录 2. 登录成功后玩猜年龄游戏 3. 猜年龄猜中后,可以选择两次奖品 4. 注册的用户名不能重复注册 ''' import random p ...

  8. Alpha冲刺——day10

    Alpha冲刺--day10 作业链接 Alpha冲刺随笔集 github地址 团队成员 031602636 许舒玲(队长) 031602237 吴杰婷 031602220 雷博浩 031602634 ...

  9. python 作业

    Linux day01 计算机硬件知识整理 作业要求:整理博客,内容如下 编程语言的作用及与操作系统和硬件的关系 应用程序->操作系统->硬件 cpu->内存->磁盘 cpu与 ...

随机推荐

  1. Mac显示同一程序的所有窗口

    通过F3键可以显示所有程序的所有窗口到桌面,但是如果窗口太多的话显示出来很难看清. 如果只显示某一个程序的所有窗口就不会乱了. 其实在dock上有一个相应的选项,但是没有快捷键. 开启方法: 在终端上 ...

  2. 编译安装haproxy开启支持SSL

    1.下载程序包 # wget http://www.haproxy.org/download/1.7/src/haproxy-1.7.5.tar.gz # tar xvf haproxy-1.7.5. ...

  3. C++运算符重载形式——成员函数or友元函数

    运算符重载是C++多态的重要实现手段之一.通过运算符重载对运算符功能进行特殊定制,使其支持特定类型对象的运算,执行特定的功能,增强C++的扩展功能. 运算符重载的我们需要坚持四项基本原则: (1)不可 ...

  4. Composer 更换为国内镜像源(Packagist 镜像)

    安装lavavel步骤: 安装composer (需要开启php_openssl扩展,否则报错) (https://getcomposer.org/) 到github下载laravel的最新发行版 ( ...

  5. fzyzojP3618 -- [校内训练-互测20180412]士兵的游戏

    二分图匈牙利也可以 判断必须点就看能不能通过偶数长度的增广路翻过去 代码: (最后一个点4s多才行,,,卡不过算了) 开始边数写少了RE,应该是4*N*N M-R随手开了一堆int?都要是long l ...

  6. 团体程序设计天梯赛 L3-004. 肿瘤诊断

    数组的大小不能开太大,否则会出现段错误 用bfs而不用dfs,dfs存储太多中间过程,会超内存 #include <stdio.h> #include <stdlib.h> # ...

  7. Centos 7安装Python3.6

    1> 安装python3.6可能使用的依赖 yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel ...

  8. 四、java面向对象编程_2

    目录 六.对象的创建和使用 七.this关键字 八.static关键字 九.package和import语句 十.类的继承 十一.访问控制 十二.方法的重写 十三.super关键字 十四.继承中的构造 ...

  9. 使用Java API的5个技巧

    原文出处:CSDN邓帅 本文介绍了一些关于Java API安全和性能方面的简单易用的技巧,其中包括保证API Key安全和开发Web Service方面中在框架方面选择的一些建议. 程序员都喜欢使用A ...

  10. [Java] 理解JVM之二:类加载步骤及内存分配

    一.类加载器 ClassLoader 能根据需要将 class 文件加载到 JVM 中,它使用双亲委托模型,在加载类的时候会判断如果类未被自己加载过,就优先让父加载器加载.另外在使用 instance ...