java08

java中,用{}括起来的内容称为代码块,代码块格局其位置个声明的不同分为以下几类:局部代码块,构造代码块,静态代码块,同步代码块

代码块的应用:

  局部代码块:在方法中出现,用于限定变量的生命周期,为了及早释放内存,提高内存利用率

  构造代码块:在类中方法外出现,(一般为多个构造方法中相同的代码存放到这),每次调用构造都会执行,并且在构造方法之前执行

  静态代码块:在类中方法外出现,用static修饰,用于给类进行初始化,在加载类的时候就执行(只会执行一次),一般用于加载驱动。

继承:让类与类之间产生关系(子父类关系)

  好处:提高了代码的复用性;提高了代码的维护性;让类与类之间产生关系,是多态的前提。

  弊端:类的耦合性增强!

java中类继承的特点:1、只支持单继承,不支持多继承;2、支持多层继承;

继承的注意事项:1、子类只能继承父类中的非私有成员;2、子类不继承父类中的构造方法,但是可以通过super关键字去访问父类构造方法;3、不要为了部分功能而去继承。

this代表当前对象的引用; super代表对当前对象父类的引用

  调用成员方法时:this.成员变量优先调用本类的成员方法,若无,也可以调用父类的;super.成员变量 只能调用父类的

  调用成员方法:this.成员方法 调用本类,也可以调用父类;super.成员方法 调用父类

调用构造方法:this()调用本类;super()调用父类

方法重写(override)&重载(overload):

  方法重载:本类中出现方法名相同,但参数列表不同(参数名或参数个数或参数顺序)与返回值类型无关

  方法重写:子父类出现了一模一样的方法(返回值类型可以是子父类)

    重写注意事项:父类中私有的方法不能被重写,2、子类重写父类方法时,访问权限不能更低;3、父类的静态方法,子类也必须通过静态方法进行重写

final:修饰类,类不能被继承;修饰变量,变量就变成了常量,只能被赋值一次;修饰方法,方法不能被重写

时间: 2024-10-12 16:51:52

java08的相关文章

java-08多态与异常处理

1.运行以下代码: public class ParentChildTest { public static void main(String[] args) { Parent parent=new Parent(); parent.printValue(); Child child=new Child(); child.printValue(); parent=child; parent.printValue(); parent.myValue++; parent.printValue();

java08双重循环打印图形

public class Double01 { /** * 若有3个班级各4名学员参赛, * 如何计算每个班级参赛学员的平均分? */ public static void main(String[] args) { // 创建一个2维数组保存数据 double[][] scores = new double[3][4]; // 循环输入学员的成绩 Scanner scanner = new Scanner(System.in); // 定义一个变量 保存每个班级的总分 double sum =

重拾Java回忆录(八):Java08集合的使用

集合的使用:如果在程序开发的过程中需要存储多个数据(值,引用),使用集合 值:使用时使用数组  int []  float[] 引用型:集合 1.链式 List:是一个接口(方法定义) 对象的存放是有序的,通过索引下标进行区分,可以存放相同的数据 对象的存放没有数量的限制(下标自动的增长) ArrayList :查询的效率高,增加删除的效率低 --适用于查询类型的集合 Vector : 线程安全 ,支持并发 ,安全性高 LinkedList:查询效率低,但是增加删除的效率极高 底层采用双向循环的

Java-08,构造方法

//用class关键字定义一个类,例如: public class Person { //成员变量定义 private int id; private int age = 20; //构造方法 Person(int _id,int _age){ id = _id; age = _age; } //方法定义 public int getAge(){ return age; } public void setAge(int i){ age = i; } public int getId(){ ret

HashSet的初步了解

HashSet是无序的.它在添加元素的时候.是无序的.输出的时候.而不是依据你所添加元素的顺序而打印出来. import java.util.*; public class HashSetDemo { public static void main(String[] args) { HashSet hs = new HashSet(); Add(hs); System.out.println(hs); } public static void Add(HashSet hs) { for (int

[Java视频笔记]day14

为什么出现集合类? 面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的操作,就对对象进行存储,集合就是存储对象最常用的一种方式. 数组和集合类同是容器,有何不同? 数组虽然也可以存储对象,但长度是固定的,集合长度是可变的.数组中可以存储基本对象类型,集合只能存储对象,对象可以不同. 1. add方法的参数类型是Object,以便于接收任意类型对象. 2. 集合中存储的都是对象的引用(地址) 什么是迭代器呢? 其实就是集合的取出元素的方式. 共性方法代码: import java.

java 集合框架(TreeSet操作,自动对数据进行排序,重写CompareTo方法)

/*TreeSet * treeSet存入数据后自动调用元素的compareTo(Object obj) 方法,自动对数据进行排序 * 所以输出的数据是经过排序的数据 * 注:compareTo方法返回值有:负数,零,正数.分别表示小于,等于,大于 * 对于存入自定义的对象元素,要重写元素的compareTo(Object obj)方法 * 元素定义时,需要实现Comparable接口 * */ 1 import java.util.Iterator; 2 import java.util.Tr