- 博客(55)
- 收藏
- 关注
原创 java的Cloneable接口和浅拷贝与深拷贝
文章目录简介浅拷贝深拷贝简介Cloneable接口是java.lang包下的接口,Cloneable其实是一个标记接口,只在实现这个接口后,我们才能重写object类中的clone()方法。clone也是首先分配内存,这里分配的内存与调用clone方法对象的内存相同,然后将源对象中各个变量的值,填充到新的对象中,填充完成后,clone方法返回一个新的地址,这个新地址的对象与源对象相同,只是地址不同。浅拷贝class Money implements Cloneable{ public dou
2022-04-13 21:35:15
720
原创 java比较之Comparable和Comparator
文章目录介绍1.Comparable2.Comparator总结介绍Comparable和Comparator都是java的接口,Comparable在java.lang包下,而Comparator在java.util包下,两者功能都是排序。1.ComparableComparable可以认为是一种内部比较器,我们在类定义时实现Comparable接口,并重写其compareTo方法,其返回类型为int代码测试如下:class Student implements Comparable<S
2022-04-13 19:34:55
1420
原创 java中子类能否继承 重写父类的静态方法
文章目录1.疑问子类能否继承父类的静态变量和静态方法子类能否重写父类的静态方法2. 原因1.疑问子类能否继承父类的静态变量和静态方法首先,子类是可以继承父类的静态变量和静态方法的。class Father{ public static int age = 18; public static void func(){ System.out.println("父类的静态func方法"); }}class Son extends Father{}publ
2022-04-11 20:31:07
2484
1
原创 java(abstract抽象类)
文章目录1.抽象类语法1.抽象类语法1.在java中,一个类被abstract修饰则被称作抽象类,抽象类中被abstract修饰的方法则被称作抽象方法,abstract抽象方法只允许声明,不允许实现。abstract class Shape{ public abstract void draw(); public abstract void calcArea(); protected double area; public double getArea(){
2022-04-10 18:54:41
3859
原创 java——多态
文章目录一.多态的概念二.多态发生的前提条件三.避免在构造方法中调用重写的方法一.多态的概念多态的概念:通俗来说,就是多种形态,具体点就是去完成某个行为,当不同的对象去完成时会产生出不同的状态。总的来说:同一件事情,发生在不同对象身上,就会产生不同的结果。二.多态发生的前提条件1.必须在继承体系下。2.子类必须对父类中的方法进行重写。3.通过父类的引用调用重写的方法(向上转型)(上两篇博客解释了重写和向上转型)多态体现:当代码运行时,传递不同类对象时,会调用不同类的方法class Sha
2022-04-07 23:00:50
536
原创 java——向上转型
文章目录一.向上转型1.1向上转型1.2使用场景1.3上转型对象会失去原对象的一些属性和功能一.向上转型1.1向上转型对象的上转型对象的实体是子类负责创建的,但上转型对象会失去原对象的一些属性和功能实际就是创建一个子类对象,将其当作父类对象来使用。语法格式 : 父类类型 对象名 = new 子类类型();Animal animal = new Cat();//假设Animal是父类,Cat是子类animal是父类类型,但可以引用一个子类对象,因为是从小范围向大范围的转换。1.2使用场景
2022-04-07 22:37:28
1424
原创 java重写方法
文章目录一.重写二.重写和重载的区别1.重载2.重写3.代码举例一.重写重写(override):也称覆盖。重写是子类对父类非静态,非private,非final方法的实现过程进行重新编写,返回值(JDK7以后,被重写的方法返回值类型可以不同,但是必须是具有父子关系的)和形参都不能改变。即外壳不变,核心重写。【方法重写的规则】:1.子类在重写父类的方法时,一般必须与父类方法原型一致:修饰符 返回值类型 方法名(参数列表) 要完全一致2.JDK7以后,被重写的方法返回值类型可以不同,但是必须是具有父
2022-04-07 21:54:54
28000
3
原创 java——继承
文章目录一.继承1.1继承的概念1.2继承的语法1.3父类成员的访问1.3.1子类中访问父类的成员变量1.3.2子类访问父类的成员方法1.4super关键字1.5子类构造方法1.6super和this一.继承1.1继承的概念继承(inheritance)机制:是面向对象程序设计使代码可以复用的最重要的手段,它允许程序员在保持原有类特性的基础上进行扩展,增加新功能,这样产生新的类,称派生类。继承呈现了面向对象程序设计的层次结构, 体现了由简单到复杂的认知过程。继承主要解决的问题是:共性的抽取,实现代码复
2022-04-03 23:26:36
618
12
原创 new一个对象的背后
我们知道 类名 对象名 = new 类名();可以实例化一个对象,那么new关键字背后发生了什么呢其实这一个简单的语句,在jvm层面发生了很多事情,简单介绍一下:1.检查对象对应的类是否加载了,没有加载则加载。2.为对象分配内存空间。3.处理并发安全问题(如多个线程同时申请对象,jvm要保证给对象分配的内存不冲突)4.初始化分配的对象即对象空间申请好后,对象中包含的成员已经被设置好了初值。5.设置对象头信息6.调用构造方法<>,给对象中的成员赋值。而且,new
2022-04-03 20:36:34
188
原创 java类和对象(三)
文章目录一.包1.1包的概念1.2导入包中的类二.代码块2.1代码块的概念及其分类2.2普通代码块2.3构造代码块(实例代码块)2.4 静态代码块一.包1.1包的概念包是对类、接口等的封装机制的体现,是一种对类或者接口等的很好的组织方式,比如:一个包中的类不想被其他包中的类使用。包还有一个重要的作用:在同一个工程中允许存在相同名称的类,只要处在不同的包中即可。1.2导入包中的类import导入库中的类:import导入自定义包中的类:避免类名混淆:如果一个源文件引入了两个包中同名的类
2022-03-31 23:19:18
564
1
原创 Java类和对象(二)
文章目录一.this引用1.1为什么要有this引用1.2什么是this引用1.3this引用的特性二.构造函数2.1补充三.static成员3.1 static修饰成员变量3.1.1静态成员变量特性3.2static修饰成员方法四.封装4.1封装的概念4.2访问限定符一.this引用1.1为什么要有this引用class Cat{ public int age; public String name;//实例变量name public String color;//实例变量c
2022-03-31 22:37:18
392
8
原创 Java类和对象(一)
文章目录一.类的定义格式1.1定义一个狗类1.2注意二.类的实例化2.1一个简单的类2.2构造函数2.3对象的内存模型一.类的定义格式1.1定义一个狗类class Dog{ public String name;//实例变量name public String color;//实例变量color public static String food="狗粮";//类变量food public void barks(){//实例方法 barks Syste
2022-03-31 18:49:50
705
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人