JavaSE学习笔记_4:Java继承

解决WSL2网络隔离:Ubuntu子系统共享Windows代理的3种方法 本文详细解析了WSL2的网络隔离特性,并提供了三种在Ubuntu子系统中共享Windows代理的实用方法:环境变量法、配置文件法和系统服务法。通过具体代码示例和方案对比,帮助开发者快速解决WSL2网络访问问题,实现一键设置代理,提升开发效率。 阅读详情

 Java继承

 

一、继承(面向对象的第二个特征)

1、继承的概述

我们知道一个学生类是通过多个具体的学生个体,将他们当中的共性内容抽取出来所形成的类或者描述。工人类亦是如此。但是现在发现学生类和工人类中也有许多共性内容,因此将它们当中的共性的内容继续向上抽取形成一个Person类。让学生类和工人类和这个Person类具备某种关系,Person类中的非私有内容学生类和工人类中隐形的有一份,子类可以拿来使用。这种关系就是继承。这时候,学生类和工人类就叫做子类,Person类就叫做父类(或者是超类/基类)。

 

注意:

(1)不是任意两个类之间都可以继承,要看它们是不是具备所属关系。(is a)

(2)Java不支持多继承。但是java保留这种机制,用多实现来体现。Java支持多层继承。也就是一个继承体系。

 

为什么不支持多继承?

当多个父类中定义了相同的功能,功能的内容不同时,子类对象不确定要运行哪一个。

 

如何使用一个继承体系中的功能?

查阅父类功能,创建子类对象使用。

 

继承:

(1)提高了代码的复用性。

(2)让类与类之间产生了关系。有了这个关系,才有了多态的特性。

 

示例:

class Person

{

String name;

int age;

}

class Student extends Person

{

void study()

{

//String name;

//int age;

 

System.out.println(“good study”);

}

}

class worker

{

void work()

{

//String name;

//int age;

System.out.println(“good work”);

}

}

class ExtendsDemo

{

public static void main(String[] args)

{

Student s=new Student();

s.name=”zhangsan”;

}

}

 

2、聚集关系

类与类之间的另外一种关系就是聚集关系(has a)。分为聚合和组合。它们的紧密程度不一样。

 

聚合:比如许多球员组成一个球队。球员与球队的关系就是聚合关系。

 

组合:比如心脏是人身体的一部分。心脏与人体的关系就是组合关系。比聚合紧密程度更高,人缺少了心脏是不行的。

 

3、子父类中变量的关系

如果子类中出现非私有的同名成员变量时:

(1)子类要访问本类中的变量,用this.。this代表的是本类对象的引用。一般默认为this.。(若子类中没有变量,父类中有变量,子类要访问变量,一般默认为super.,那么这里涉及到父类引用指向子类对象,这就是后面要讲的多态。)

(2)子类要访问父类中的变量,用super.。super代表的是父类对象的引用。(涉及到父类引用指向子类对象,这就是后面要讲的多态)

 

但是在main()中记住下面的情况:(面试)

class Fu

{

Int num=5;

...

}

class Zi extends Fu

{

int num=8;

...

}

class Ceshi

{

public static void main(String[] args)

{

Fu f=new Zi();

System.out.println(f.num);//5

 

Zi z=new Zi()

System.out.println(z.num);//8

}

}

 

4、子父类中函数的特点-覆盖

现象:当子类出现和父类一模一样的函数只是函数体不同,当子类对象调用该函数,会运行子类函数的内容。如同父类的函数被覆盖一样。这种情况是函数的另一个特点:重写(覆盖)。这种情况在日后的开发设计中非常重要。就该这么写。这种方式有利于功能的扩展。避免日后回去修改代码。这个是很头疼的。

 

重写的特点:沿袭父类功能,定义子类特有的内容。(有利于功能的扩展)

 

什么时候覆盖:

(1)必须保证子类权限大于等于父类权限,才可以覆盖,否则编译失败。但是要注意:如果父类方法的权限是private,子类的方法权限虽大于它,但仍然不能覆盖。因为父类中私有的方法子类沿袭不了。更别说复写了。(一个类中的成员只要被私有了,就一定不被暴露出去,别人想要,只有通过间接的方式去使用,即使建立了对象也拿不到,因为私有只在本类内部有效。)这么写编译通过,运行失败。

(2)静态只能覆盖静态。

目前学到的权限有:public、protected、默认权限(介于前两者之间)

 

如果子类中出现非私有的同名成员函数时:

(3)子类要访问本类中的函数,用this.。this代表的是本类对象的引用。一般默认为this.。(若子类中没有变量,父类中有变量,子类要访问变量,一般默认为super.,那么这里涉及到父类引用指向子类对象,这就是后面要讲的多态。)但是这种情况如果是无条件的递归,即死循环,是不行的。

(4)子类要访问父类中的函数,用super.。super代表的是父类对象的引用。(涉及到父类引用指向子类对象,这就是后面要讲的多态)

 

ps:重载和重写的区别要注意。

重载只看同名函数的参数列表。

重写是子父类方法要一模一样。

观察下面的代码:

class Fu

{

int show()

{

System.out.println(“fu show”);

return 1;

}

}

class Zi extends Fu

{

void show()

{

System.out.println(“zi show”);

}

}

class Ceshi

{

public static void main(String[] args)

{

Zi z=new Zi();

z.show();

}

}

这个程序在编译的时候会提醒:正在尝试不兼容类型的覆盖。因为子类中show()并没有复写父类中的show(),子类继承了父类,则子类也有个返回值为int类型的show(),怎一个类中有两个show(),这两个show又不是重载关系,因此调用时虚拟机不知道该调用哪一个。所以这种代码在日后的开发设计中是不允许写出来的。

 

5、子父类中构造函数的特点-子类实例化过程

现象:我们在创建子类对象调用相应的构造函数进行初始化的时候,父类中的空参数构造函数也会被调用。

 

原因:原来每一个子类的构造函数的第一行都有一个隐式的语句:super();。我们可以这样理解,this(),this(...)

表示子类的构造函数调用子类中的构造函数,用于本类构造函数之间的调用;super(),super(...)表示子类的构造函数调用父类中的构造函数,用于子父类构造之间的调用。

需要注意的是当父类中没有空参数的构造函数或者时想调用父类中其他的构造函数时我们必须手动通过super(...)语句来进行访问,否则对于父类中没有空参数的构造函数的情况会编译失败。由于子类中的每一个构造函数的第一行都有一个隐式的super();语句,因此子类的构造函数的第一行也可以手动指定this语句来访问本来中的指定构造函数,子类中至少会有一个构造函数访问父类中的构造函数。但是由于this和super语句都只能放在子类中的构造函数的第一行,因此二者只能选其一,这也不要紧,刚讲过子类中至少会有一个构造函数访问父类中的构造函数。但是下面这种情况不允许出现:

class Zi extends Fu

{

Zi()

{

this(6);

System.out.println(“zi run”);

}

Zi(int x)

{

this();

System.out.println(“zi-------”+x);

}

}

陷入了死循环。

 

总结:子类的实例化过程:逐级向上找。子类找父类,父类找它的父类。Java中有一个特别牛的类,是所有类的直接父类或间接父类。

 

6、Final关键字

a. Final可以修饰类、方法、变量。

b. Final修饰的类不可以被继承。继承虽说提高了代码的复用性,但是被继承以后子类可以重写父类中的方法,打破了类的封装性。

c. Final修饰的方法不可以被覆盖。

d. Final修饰的方法不可以被覆盖。

e. Fianl修饰的变量是一个常量。只能赋值一次。既然是常量就要符合常量的命名规则。全局静态常量:public static final int A;

f. 内部类只能访问被final修饰的局部变量。

 

7、抽象类

我们前面讲到子父类中函数的特点,它的特点就是复写。子类只需要沿袭父类中的功能,子类自己定义特有的功能。那么我们父类中的方法的方法体是不是可以为空,因为子类几乎是用不到。因此从子类中将相同的功能进行向上抽取形成一个父类,方法体为空,但是{}会显得有点多余,因此我们可以将{}换成;,它也是函数结束的一种标志。那么抽取出来的这个方法,因为没有方法体,看不懂,应该加上abstract进行标识一下。称之为抽象方法。抽象方法作为父类的成员存在,这个类如果建立对象调用这个方法完全没有意义,所以抽象方法必须存放在抽象类中,因此父类也因该加上abstract修饰符进行修饰。告诉别人这个类是抽象的,自然不能实例化,即不能创建对象。当然抽象类中也可以没有抽象方法。

到这里,我们知道了。如果事物具备相同的功能,但是方法体不一样那就向上抽取成抽象方法,方法体不确定,主体由子类自己来完成。

以后可能还会见到本地方法,它也是一个没有方法体的方法。

 

抽象:看不懂。抽象的好处,强迫子类去复写方法,让子类有自己的内容容易看懂函数是干什么的。这也是上面说将{}改成;最合理的解释。

抽象类的特点:

A、抽象方法一定在抽象类中。

B、抽象方法和抽象类都必须被abstract关键字修饰。

C、抽象类不可以用new创建对象。因为调用抽象方法没意义。

D、抽象类中的方法要被被使用,必须由子类复写其所有的抽象方法后,建立子类对象使用。如果子类只覆盖了部分抽象方法,那么子类还是一个抽象类。

 

abstract关键字不能和那些关键字共存:

1、fianl:被final修饰的类不能有子类。而被abstract修饰的类一定是一个父类。

2、private:抽象类中的抽象方法被私有,不能被子类所知,就无法被复写。

3、static:如果static可以修饰抽象方法,那么连对象都省了,直接类名调用就可以了。可是抽象方法运行没意义。

 

练习1:

假如我们在开发一个系统时需要对员工进行建模,员工包含3个属性。姓名、工号以及工资。经理也是员工,出来含有员工的属性外,另外还有一个奖金属性。请使用继承的思想设计出员工类和经理类。要求类中提供必要的方法进行属性访问。

abstract class Employee

{

private String name;

private String id;

private double pay;

Employee(String name,String id,double pay)

{

this.name=name;

this.id=id;

this.pay=pay;

}

//员工里边应该有一个基本的行为:

public abstract void work();

}

class Manager extends Employee

{

//private String name;

//private String id;

//private double pay;

private int bonus;

Manager(String name,String id,double pay,int bonus)

{

super(name,id,pay);

this.bonus=bonus;

}

public void work()

{

System.out.println(“Manager work”);

}

}

class pro extends Employee

{

Pro(String name,String id,double pay)

{

super(name,id,pay);

}

public vodi work()

{

System.out.println(“pro work”);

}

}

 

练习2:(模板方法模式)

什么是模板方法呢?

在定义功能时,功能的一部分是确定的,但是有一部分是不确定的,而确定的部分在使用不确定的部分,那么这时就将不确定的部分暴露出去,有该子类去完成。

 

通过获取一段程序运行的时间来讲解这个问题。由于只有这段程序是不确定的。因此可以:将这部分有一个抽象函数封装起来,其他强制不让子类被复写,用final修饰符。已知获取本机的当前时间的功能java已经提供,java调用windows里边的都东西。在java.lang包中的一个类System提供了currentTimeMillis(),以秒计时。还有一点注意下,这段程序不能被计算机“秒杀”了,需要能计算出时间来。

代码如下:

abstract class GetTime

{

public final getTime()

{

long start=System.currentTimeMillis();

runcode();

long end=System.currentTimeMillis();

System.out.println(“毫秒:”+end-start);

}

public void runcode();

}

class SubTime extends GetTime

{

public void runcode()

{

for(int x=0;x<4000;x++)

{

System.out.println(x);

}

}

}

class TemplateDemo

{

public static void main(String[] args)

{

SubTime st=new SubTime();

st.getTime();

}

}

 

8、接口

接口是指所有方法都是抽象的抽象类,不可实例化。因此接口可以看成是特殊的类,编译后也会生成.class文件。

 

class:用于定义类。

interface:用于定义接口。

 

接口中的常见定义:常量和抽象方法。

它们都有固定的格式:

常量:public static final...

抽象方法:public abstract...

这些修饰符不写的话,系统会默认。但是为了阅读性好建议写上。

 

 

子类可以继承父类:父类中有直接可以让子类拿去用的东西。

子类类可以实现父接口:父接口中没有直接可以让子类拿去用的东西。

 

以后的开发设计中:接口作为子类的扩展功能,子类需要就去实现,不需要就不去实现;父类中的东西子类只要一继承,子类中就会有,子类没得选择。

 

接口的特点:

(1)接口是对外暴露的规则。

(2)接口是程序的功能扩展。

(3)接口可以用来多实现。

(4)类与接口之间是实现关系,而且类可以继承一个类的同时实现多个接口。

(5)接口与接口之间可以有继承。且可以实现多继承。但是多继承的时候应该注意:如果已经继承了另外多个接口的接口被一个子类所实现,那么该子类必然要重写父接口中所有的抽象方法,如果这时候,父接口中有返回值类型不同的同名函数,如:int show();和void show();,那么子类创建对象以后,要调用show()方法,虚拟机就不知道该找哪一个了,因此不同接口中不能出现一个里面有int show(),另外一个里面有void show()类似这种情况。否则编译失败。

 

为什么子类不可以多继承却可以多实现呢?

因为父类中的可能有重复的方法,子类创建对象去调用该方法,就不知到底改掉用哪一个。而对于接口就不会出现这种问题,接口中的方法都没有主体。都需要在子类中实现,同样的方法只需要实现一次就行了,子类创建对象去掉用,就直接调用子类中实现的方法就行了。(不同接口中有相同的函数和不同接口中有返回值类型不同同名函数的情况不是一种情况,注意区别)

 

实例:

/**

抽烟的功能作为子类的扩展功能,可要可不要。因此定义到接口中。

*/

interface Smoking

{

public abstract void smoking();

}

 

/**

学习的功能和睡觉的功能作为子类的基本功能,子类必须有这些功能。因此定义到类中。

*/

abstract class Student 

{

abstract void study();//学习的内容不确定,因此定义   //成抽象方法,由子类实现

void sleep()

{

System.ou.println(“sleep”);

}

}

 

//定义子类

class BaseStudent extends Student implements Smoking

{

void study()

{

Sytem.out.println(“base study”);

}

public void smoking()

{

System.out.println(“smoking”);

}

}

class ChongciStudnet extends Student

{

void study()

{

System.out.println(“chongci study”);

}

}

 

 

2015-11-07至 2015-11-20著

TypeError: XGBClassifier.fit() got an unexpected keyword argument ‘early_stopping_rounds‘ 解决方案 本文主要介绍了TypeError: XGBClassifier.fit() got an unexpected keyword argument 'early_stopping_rounds’解决方案,希望能对使用XGBoost的同学们有所帮助。 文章目录 1. 问题描述 2. 解决方案 阅读详情

相关推荐

开源低场MRI系统构建:从原理到三天实现

磁共振成像(MRI)作为现代医学影像的核心技术,其高场强系统存在成本和技术门槛问题。低场MRI通过开源硬件和模块化设计实现技术民主化,采用永磁体替代超导磁体可大幅降低系统复杂度。本文以H型永磁体设计为例,结合MaRCoS开源控制库和PyPulseq脉冲序列工具,展示了如何快速构建教育级MRI系统。关键技术包括遗传算法优化的匀场方案、CNC加工的梯度线圈,以及基于Red Pitaya的SDR控制架构。这种轻量化方案特别适合医学物理教学和脉冲序列开发验证,为MRI技术在资源有限地区的普及提供了新思路。

weixin_30470643的博客 449

abstract 抽象

abstract:抽象的意思 什么叫抽象呢?就是你看不大懂的东西咯 它作为一个修饰符,可以修饰类,方法。 它是怎么来的呢? 其实就是:在继承体系中,当多个类中出现相同功能,但是功能主体不同,这时可以进行向上抽取,只抽取功能定义,而不抽取功能主体 接下来就是抽象修饰类和函数的特点 被抽象的修饰的类有如下特点: 1:被抽象修饰的类不能被创建对象:因为创建了对象就会加载抽象的方法,而调

Vridis_h的博客 534

【AI深究】合成数据(Synthetic Data)深度解析:原理、算法与工程实践——全网最详细流程|核心原理、主流方法、数学表达、工程实践与细节、未来趋势|GAN、VAE、语言模型LLM合成如GPT

大家好,我是爱酱。本篇延续将会系统梳理合成数据(Synthetic Data)的核心原理、主流方法、数学表达、工程实践与未来趋势,结合数学公式,帮助你全面理解这一AI建模的关键技术。 注:本文章含大量数学算式、详细例子说明及大量代码演示,大量干货,建议先收藏再慢慢观看理解。新频道发展不易,你们的每个赞、收藏跟转发都是我继续分享的动力!

AI人工智能爱酱~你的AI学习好帮手~ 4924

java第二次作业

1 final修饰符不可以修饰如下哪个内容() A、类 B、接口 C、方法 D、变量 正确答案: B 我的答案:B得分: 2.8分 答案解析: final关键字可用于修饰类、变量和方法。 2 下列选项中,关于final修饰成员变量的说法正确的是( ) A、被final修饰的成员变量可以被多次赋值 B、被final修饰的成员变量为常量 C、final只能在接口中修饰成员变量 D、以上都不对 正确答案: B 我的答案:B得分: 2.8分 答案解析: 被final修饰的变量为常量,不能被第二次赋值或改变引用。 3

DecorateCC的博客 1440

基于LTspice的共模电感差模/共模插入损耗仿真指南

在电源与EMC设计领域,插入损耗是衡量滤波器件抑制噪声能力的核心指标。共模电感作为EMI滤波器中最常见的元器件之一,其差模与共模插入损耗特性直接影响整体滤波方案的合规性。然而,仅依赖规格书曲线往往难以覆盖真实应用中的阻抗条件,借助SPICE仿真工具进行电路级验证已成为工程师常用的手段。LTspice凭借其轻量、高效的交流分析能力,能够帮助设计者快速搭建共模电感等效模型,并通过调整耦合系数、寄生电容等参数,还原漏感与谐振行为。本文以Wurth Elektronik的WE 744821201型号为例,从基本测试

weixin_27252001的博客 293

Ubuntu22.04实战:基于VLLM高效部署Qwen3系列模型并构建Dify智能体

本文详细介绍了在Ubuntu22.04系统上使用VLLM高效部署Qwen3系列模型并集成Dify平台的实战指南。从环境配置、Conda管理到VLLM优化部署,再到Dify智能体构建,提供了全面的技术方案和性能调优建议,帮助开发者快速实现AI模型的高效部署与应用。

weixin_28323057的博客 161

Java - 继承、抽象类

继承、抽象类一、继承1. 基本概念2. 继承关系中的成员访问3. 重写与重载4. super 与 this二、抽象类 一、继承 1. 基本概念 继承主要解决的问题是共性抽取。继承是多态的前提,没有继承就没有多态。 继承关系的特点 子类可以拥有父类的内容 子类还可以有自己专属的内容 “子类是一个父类”(is a) Java中的继承 Java是单继承的,一个类的直接继承父类只能有一个 Java支持多级继承,支持孙类继承子类,子类再继承父类,所有的类最终都继承自Object类 子类有且只能有一个父类,但是父

xing123456jl的博客 309

弘玑RPA进阶攻略

01.弘玑RPA产品概要。02.设计器的安装与卸载。03.设计器特性与使用。

长安诗社社长@-梁瀚文- https://github.com/HevnChin https://gitee.com/HevnChin 3645

继承

继承 对于继承而已,子类会默认调用父类的构造器,但是如果没有默认的父类构造器,子类必须要显示的指定父类的构造器,而且必须是在子类构造器中做的第一件事(第一行代码) 将对象的公共属性和方法写到一个类中,然后一个类继承这个存在公共属性和方法的类,这样就存在了继承 继承让类和类之间产生了关联,并且提高了代码的复用性 继承分为单继承和多继承 单继承:一个类只能继承

xu15936789020的博客 379

Vivado时序违例debug

显示了数据路径延迟。例如,对于违例路径,若布线延迟超过50%,说明该延迟是导致时序不能收敛的主要因素,因此可围绕降低布线延迟这一靶心达到时序收敛。对于跨时钟域路径,Requirement数值会有所变化,但如果数值为0.1,显然是不合理的。目的时钟路径单元,时钟从adc0_bufg/O输出,到达PLLE4_ADV,经过BUFGCE输出,最终到达SRLC32E移位寄存器,对应。源时钟路径单元,时钟从adc0_bufg/O输出,到达PLLE4_ADV,经过BUFGCE输出,最终到达FDRE触发器,对应。

weixin_44513618的博客 1618

从0到1,快速理清 | DeepSeek Harness

DeepSeek推出自研Harness开发平台,主打"一切皆插件"理念,将AI执行能力模块化为可自由组合的插件体系。带你从0到1,快速了解开发链路。

IT学习博客 676

java基础知识题---3

一.单选题 1.final修饰符不可以修饰如下哪个内容(B) A、类 B、接口 C、方法 D、变量 答案解析:final关键字可用于修饰类、变量和方法。 2.下列选项中,关于final修饰成员变量的说法正确的是(B ) A、被final修饰的成员变量可以被多次赋值 B、被final修饰的成员变量为常量 C、final只能在接口中修饰成员变量 D、以上都不对 答案解析:被final修饰的变量为常量,不能被第二次赋值或改变引用。 3.下列关于super关键字的说法中,正确的是(A ) A、super关键字是在子

fy_1852003327的博客 6350

大模型算法岗常见面试题100道

LangChain是一个用于构建和运行大型语言模型应用的开源框架。它提供了一套工具和组件,帮助开发者将大型语言模型(如 GPT-3)与其他工具和API结合,以完成更复杂的任务。1、LangChain包含哪些核心概念?Components:可重用的模块,例如API调用、数据库查询等。Chains:将多个Components链接在一起以完成特定任务的流程。Prompt Templates: 用于指导语言模型生成输出的文本模板。Output Parsers:解析语言模型输出的工具。

具身机器人和通用AI 1959

【JavaSE】JavaSE之继承和多态

深入浅出了解继承和多态,图文并茂让你没齿难忘QWQ~~

bit me的博客 1214

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

JavaSE 继承

JavaSE 继承继承继承概述继承的好处与弊端继承中变量的访问特点super 关键字继承中构造方法的访问特点继承中成员方法的访问特点方法重写 继承 继承概述 继承是面向对象三大特征之一。可以使得子类拥有父类的属性和方法,还可以在子类中重新定义、追加属性和方法。 继承的格式 格式:public class 子类名 extends 父类名 { } 范例:public class Zi extends Fu { } Fu :父类,也称为基类、超类 Zi:子类,也称为派生类 继承中子类的特点: 子类可以有父类

苦瓜的博客 1993

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

javaSE学习笔记_目录

IO字节流 javaSE (二十九)IO.read()输出是int的原因、fileoutputstream的追加功能、用byte[]优化拷贝文件、Buffered缓冲区内存示意图 javaSE (三十)IO流异常处理、图片加密处理、输入文件路径并拷贝文件内容、在文件中键入内容 计算机基础知识 javaSE (一)数据类型转换、++/–运算符 javaSE (二)逻辑/位运算符、左移右移运算符、sw...

PizAn的博客 7717

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

【JAVA |总结】JAVASE基础大总结(含思维导图)

我们已经系统的发布了详细的JAVASE的每一个单独知识点的文章,在这里做一个总结,详细请看跳转到对应文章!!!!传送门1.【JAVA |开篇】JAVA入门及JDK环境配置-优快云博客2.【JAVA |数据类型】数据类型、类型提升、类型转换-优快云博客3.【JAVA |基础】运算符、程序逻辑控制以及方法的使用-优快云博客4.【JAVA |数组】数组定义与使用、常见的Arrays类介绍_java的arrays-优快云博客。

YKX0000的博客 1628

(java学习笔记)JavaSE基础

Java技术体系平台 JavaSE :标准版 面向桌面型应用(Windows下的应用程序)的Java平台。提供完整的Java核心API,也叫J2SE. JavaEE:企业版 开发企业环境下的应用程序。该技术体系中包含的技术 Servlet Jsp。主要针对Web应用程序开发。也叫J2EE. JavaME:小型版 支持Java程序运行在移动终端(手机、PDA:掌上电脑 条码扫描器、RFID读写器、P...

陌然白(小白)的博客 4057

javaSE的继承

javaSE的继承 设计规范 子类们的相同特征(共性属性、共性方法)放在父类中定义。 子类独有的属性和行为应该定义在子类自己里面。 关键字:extends 内存机制 子对象被new以后,会在堆内存中创建一个对象空间,里面会分成两块空间,一个是父类空间(super),一个是子类空间(this),这两个空间整个代表的是一个对象。子类定义的变量和方法会在存放在子类空间中,父类定义的方法和变量会存放在父类空间中。对外是两个对象,对内是两个空间。 继承的语法 继承的特点 子类可以继承父类的属性和行为,但

jiangjingbai123的博客 185

【Java】JavaSE学习笔记

本文包括Dos命令、基础概念、变量类型、类型转换、变量与常量、运算符、包、JavaDoc、输入输出、程序流程、数组、常用类以及面向对象编程(OOP)的基础知识。文章详细介绍了Java的运行机制、环境变量配置、变量命名规范、逻辑运算符、数组的声明与初始化、Arrays类的常用方法、时间类、字符串类、浮点数运算类、随机数类等。此外,还简要提及了面向对象编程的本质,即以类组织代码,以对象封装数据。这些内容为Java学习者提供了全面的基础知识和操作指南。

ayaishere_的博客 1011

我的javaSE学习笔记

layout: post title: “我的JAVASE自学笔记” date: 2019-05-18 20:23:25 +0800 我的JAVASE自学笔记 作者:吴甜甜 个人博客网站: wutiantian.github.io 基础知识 学习书籍:《疯狂JAVA讲义》李刚 搭建命令行编译环境 下载软件jdk jdk是开发java要用到的工具,里面包括 ①jre (java ru...

吴甜甜的技术博客 1954

JavaSE:继承

本文主要介绍了:什么是继承?子类怎么访问父类的成员变量?子类怎么访问父类的成员方法?如果我就是想访问同名的父类的成员怎么办?子类构造方法和Java中的继承方式。

月临水的博客 1196

JavaSE——继承和多态详解

5000字详解继承和多态

chenchenchencl的博客 1065

【JavaSE】继承和多态

关于JavaSE中继承和多态的学习~

qq_56251766的博客 726

【JavaSE系列】Java面向对象之包与继承

本篇文章带大家认识Java基础知识——包与继承,在Java当中一切皆可视为对象,而对象是由类所实例化出来的,将类组织起来那就是一个包,类与类之间是可以存在关联的,例如猫,狗,鸟等动物存在相同的行为或特征,我们把这些相同的行为与特征都集中起来构建成一个新的类,则猫,狗,鸟等动物都继承了该类。

未见花闻的博客 2034

javaSE中的包,继承

javaSE中的包,继承 一、包 包 (package) 是组织类的一种方式. 使用包的主要目的是保证类的唯一性 1.1、导入java包中的 一个类 import:导入包中的类 package:“包”,指类所在的包。意思就是这里面包含了类。 import java.util.Arrays;// public class TestDome { public static void main(String[] args) { int[] array = {1,2,3,4,5};

ryy1999的博客 397
上一篇: JavaSE学习笔记_3:Java面向对象
下一篇: JavaSE学习笔记_5:Java多态
java_程序媛
博客等级 码龄11年 26粉丝 24原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值