
Java面向对象
文章平均质量分 58
面向对象的基础内容
耳东er
"春酒 热夏 秋酿 知寒"
展开
-
Java面向对象22:Class Object
Class Objectto String()方法to String()方法源代码public String toString() { return getClass().getName() + "@" + Integer.toHexString(hashCode()); //类名@对象的内存地址转换为十六进制的形式}to String()方法的设计目的:通过调用这个方法可以将一个“Java对象”转换为“字符串表示形式 ”建议所有的子类都去重写to String()方法,to St原创 2021-08-15 13:33:03 · 109 阅读 · 0 评论 -
java面向对象21:类型和类型之间的关系,package和import介绍
is a (类继承)、has a(属性关联)、like a(接口实现)原创 2021-08-08 16:33:37 · 91 阅读 · 0 评论 -
Java面对对象20:final关键字
一、final关键字final 是java语言中的一个关键字final 表示最终的,不可变的final 修饰的类 不能被继承(没有子类)final 修饰的方法 无法被覆盖、被重写final 修饰的变量 一旦赋值后就不能修改,只能赋一次值final 修饰的引用 一旦指向某个对象,则不能再指向其他对象(该引用指向的对象内部的数据是可以修改的)final 修饰的实例变量 必须手动初始化,系统不给予默认值final 修饰的实例变量一般和static联合使用,称为 常量格式: public st原创 2021-08-06 10:31:03 · 102 阅读 · 0 评论 -
Java面对对象19:内部类
成员内部类、静态内部类、局部内部类、匿名内部类原创 2021-05-26 20:40:51 · 84 阅读 · 0 评论 -
Java面对对象18:接口
一、接口——声明类的关键字是class,声明接口的关键字是interface普通类:只有具体实现抽象类:具体实现和规范(抽象方法)都有!接口:只有规范!自己无法写方法,专门约束,使约束和实现分离接口就是规范,定义的是一组规则,体现了现实世界中"如果你是…则必须能…"的思想。例:如果你是天使,则必须能飞。如果你是汽车,则必须能跑。如果你是好人,则必须干掉坏人;如果你是坏人,则必须欺负好人。接口的本质是契约,就像我们人间的法律一样,制定好后大家都遵守。OO的精髓,是对对象的抽象,最能体现这一原创 2021-05-26 12:27:15 · 95 阅读 · 0 评论 -
Java面向对象17:抽象类——abstract
一、抽象类——abstractabstract修饰符可以用来修饰方法也可以修饰类,如果修饰方法,那么该方法就是抽象方法;如果修饰类,那么该类就是抽象类。抽象类中可以没有抽象方法,但是有抽象方法的类一定要声明为抽象类。抽象类,不能使用new关键字来创建对象,它是用来让子类继承的。抽象方法,只有方法的声明,没有方法的实现,它是用来让子类实现的。子类继承抽象类,那么就必须要实现抽象类没有实现的抽象方法,否则该子类也要声明为抽象类。示例抽象类(父类)//抽象类--->原创 2021-05-25 22:38:29 · 245 阅读 · 0 评论 -
Java面向对象16:代码块 & 属性初始化
一、代码块代码块介绍:匿名代码块:可以 赋初始值{ //代码块(匿名代码块)——一般不建议这么写}静态代码块:只有第一次被执行(只执行一次)static{ //静态代码块 --- 类一加载就加载,永久,且只加载一次}无参构造(构造方法、构造器)public Person() { //构造方法、无参构造(构造器)}示例public class Person { //第二个执行:匿名代码块可以 赋初始值 { //代码块(匿名代码块)——原创 2021-05-25 20:48:37 · 157 阅读 · 0 评论 -
Java面对对象15:static关键字详解
一、static关键字static(静态) : 与类一起加载加了static修饰符的方法和属性叫类方法(静态方法)、类属性(静态属性)未加static修饰符的方法和属性叫对象方法(非静态方法、实例方法)、对象属性(非静态属性、实例属性)示例://static : (静态)与类一起加载public class Student { //属性-变量 private static int age;//年龄(静态变量-类变量) private double score;//原创 2021-05-25 11:57:13 · 106 阅读 · 0 评论 -
Java面对对象14:方法调用的优先级问题
一、实现Java多态性的时候,关于方法调用的优先级我们这样假设下,super(父类)、this(当前类对象)、show(方法)、object(对象),方法调用优先顺序:①this.show(object)>②super.show(object)> ③this.show((super)object)>④super.show((super)object)文字描述:①当前类方法(当前类对象)> ② 父类方法(当前类对象)> ③当前类方法(父类对象)> ④父类方法(父原创 2021-05-22 20:23:03 · 287 阅读 · 0 评论 -
Java面对对象13:instanceof 和 多态类型转换
一、instanceofinstanceof 可以判断俩个类之间是否存在继承关系——左右两边要有关系才能判断是否有继承关系;没有任何关系时,编译会报错例子:父类——Personpublic class Person {}子类——Studentpublic class Student extends Person{}子类——Teacherpublic class Teacher extends Person{}测试类public class Application {原创 2021-05-21 22:16:32 · 225 阅读 · 0 评论 -
Java面对对象12:方法重写
一、方法重写重写都是方法的重写,与属性无关重写需要有继承关系,子类重写父类的方法!方法名必须相同参数列表必须相同修饰符:子类的范围可以比父类大但不能小——private < default(默认-不写) < protected < public抛出的异常:子类的异常可以比父类少,不能变更多——ClassNotFoundException < Exception重写:子类的方法和父类必须一致,方法体不同!为什么需要重写:父类的功能,子类不一定需要,原创 2021-05-20 15:42:03 · 98 阅读 · 0 评论 -
Java面向对象11:super——this
一、super——this的关系应用this:能调用当前类的属性和方法super:能调用父类的属性和方法例子:人类(父类)public class Person {//人类(父类) //属性 protected String name = "chengsiwen"; //方法 public void print() { System.out.println("Person"); } //构造器 public Perso原创 2021-05-19 16:19:12 · 117 阅读 · 0 评论 -
Java面向对象10:访问修饰符
一、Java的四种访问修饰符类之间的关系类和类之间的关系有如下几种(以Hero为例):自身:指的是Hero自己同包子类:ADHero这个类是Hero的子类,并且和Hero处于同一个包下不同包子类:Support这个类是Hero的子类,但是在另一个包下同包类: GiantDragon 这个类和Hero是同一个包,但是彼此没有继承关系其他类:Item这个类,在不同包,也没有继承关系的类成员变量有四种修饰符(红色字体,表示不可行)private 私有的package/frie原创 2021-05-17 20:25:23 · 116 阅读 · 0 评论 -
Java面向对象09:多态
一、多态即同一方法可以根据发送对象的不同而采用多种不同的行为方式一个对象的实际类型是确定的,但可以指向对象的引用的类型有很多(父类,有关系的类)多态存在的条件有继承关系子类重写父类的方法父类引用指向子类对象注意:多态是方法的多态,属性没有多态性代码父类public class Person {//人类 public void run(){ System.out.println("run"); }}子类public class Stu原创 2021-05-21 11:04:10 · 85 阅读 · 0 评论 -
Java面向对象08:继承
一、继承继承的本质是对某一批类的抽象化,从而实现对现实世界更好的建模。extends的意思是"扩展||继承"。子类是父类的扩展,子类继承父类的属性、方法。Java中类只有单继承,没有多继承!(一个子类只能有一个父类,但是一个父类可以有多个子类)继承是类和类之间的一种关系。除此之外,类和类之间的关系还有依赖、组合、聚合等。继承关系的两个类,一个为子类(派生类),一个为父类(基类)。子类继承父类,使用关键字extends来表示。子类和父类之间,从意义上讲应该具有"is a"的关系c原创 2021-05-16 11:09:00 · 108 阅读 · 0 评论 -
Java面对对象07:封装
封装的介绍,成员变量四种修饰符介绍,public的get/set接口的应用原创 2021-05-14 22:56:51 · 97 阅读 · 0 评论 -
Java面对对象06:类与对象的简单小结
一、类与对象的简单小结类与对象Java面向对象03:类与对象的关系、创建与初始化对象、构造器类是一个模板(初始化的),是抽象的;对象是一个具体的实例方法Java方法详解(基础阶段)定义、调用对象的引用Java面向对象04:创建对象内存分析 除了基础类型(8种——byte,short,int,long,float,double,char,boolean),都是引用类型对象是通过引用来操作的:栈(引用变量)——>堆(对象地址)(也可以理解为堆中的对象地址指向引用变量)原创 2021-05-14 15:37:50 · 96 阅读 · 0 评论 -
Java面向对象05:创建对象的内存分析&成员变量和局部变量的内存分析
创建对象内存的分析图原创 2021-05-14 10:08:32 · 163 阅读 · 0 评论 -
Java面对对象04:类属性&类方法(static)
一、类属性类属性当一个属性被static修饰的时候,就叫做类属性,又叫做静态属性当一个属性被声明成类属性,那么所有的对象,都共享一个值与对象属性(对象属性:又叫实例属性,非静态属性)对比:不同对象的 对象属性 的值都可能不一样。比如盖伦的hp 和 提莫的hp 是不一样的。但是所有对象的类属性的值,都是一样的例子:给英雄设置一个类属性叫做“版权" (copyright), 无论有多少个具体的英雄,所有的英雄的版权都属于 Riot Games公司。访问类属性有两种方式原创 2021-05-19 14:08:30 · 158 阅读 · 2 评论 -
Java面向对象03:类与对象的关系、创建与初始化对象、构造器
类与对象的关系、创建与初始化对象,构造器(构造方法的详解)原创 2021-05-13 12:56:26 · 237 阅读 · 0 评论 -
Java面向对象02:回顾方法及加深
一、方法的定义修饰符返回类型 修饰符 返回值类型 方法名(...){ //方法体 return 返回值; }=====================例:====================== public String sayHello(){ return "hello world"; } public int max(int a,int b){ return a>b ? a : b;原创 2021-05-13 09:43:26 · 103 阅读 · 0 评论 -
Java面向对象01:初识面向对象
面向过程&面向对象的介绍,Java是面向对象的,粗劣讲解什么是面向对象和面向对象三大特性原创 2021-05-10 14:53:35 · 136 阅读 · 0 评论 -
Java面向对象练习
一、练习-治疗先设计一个英雄类(父类),每个英雄都有 name、HP、MP设计一个类Support (辅助英雄)继承Hero,提供一个heal(治疗)方法对Support的heal方法进行重载heal()heal(Hero h) //为指定的英雄加血heal(Hero h, int hp) //为指定的英雄加了hp的血代码Hero英雄类(父类)public class Hero {//英雄类(主类) //每个英雄都有名字、血量、蓝量 public String na原创 2021-05-22 20:03:52 · 476 阅读 · 1 评论