![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java SE
文章平均质量分 73
Lycodeboy
这个作者很懒,什么都没留下…
展开
-
Java 多态详解
多态多态是继封装、继承之后,面向对象的第三大特性。现实事物经常会体现出多种形态,如学生,学生是人的一种,则一个具体的同学张三既是学生也是人,即出现两种形态。Java作为面向对象的语言,同样可以描述一个事物的多种形态。如Student类继承了Person类,一个Student的对象便既是Student,又是Person。Java中多态的代码体现在一个子类对象(实现类对象)既可以给这个子类(实现类对象)引用变量赋值,又可以给这个子类(实现类对象)的父类(接口)变量赋值。如Student类可以原创 2021-02-21 11:58:44 · 202 阅读 · 0 评论 -
Java封装的使用
封装提起封装,大家并不陌生。前面我们学习方法时,就提起过,将具体功能封装到方法中,学习对象时,也提过将方法封装在类中,其实这些都是封装。封装,它也是面向对象思想的特征之一。面向对象共有三个特征:封装,继承,多态。接下来我们具体学习封装。封装表现: 1、方法就是一个最基本封装体。 2、类其实也是一个封装体。 从以上两点得出结论,封装的好处: 1、提高了代码的复用性。 2、隐藏了实现细节,还要对外提供可以访问的方式。便于调用者的使用。这是核心之一,也可以理解为就是封装的概念。 3、提高了原创 2021-02-21 11:57:19 · 281 阅读 · 0 评论 -
Java内部类详解
内部类什么是内部类将类写在其他类的内部,可以写在其他类的成员位置和局部位置,这时写在其他类内部的类就称为内部类。其他类也称为外部类。什么时候使用内部类在描述事物时,若一个事物内部还包含其他可能包含的事物,比如在描述汽车时,汽车中还包含这发动机,这时发动机就可以使用内部类来描述。class汽车{ //外部类class发动机{ //内部类}}内部类的分类内部类分为成员内部类与局部内部类。我们定义内部类时,就是一个正常定义类的过程,同样包含各种修饰符、继承与...原创 2021-02-21 12:00:24 · 164 阅读 · 0 评论 -
Java匿名对象详解
匿名对象匿名对象是指创建对象时,只有创建对象的语句,却没有把对象地址值赋值给某个变量。已经存在的类:public class Person{public void eat(){System.out.println();}}创建一个普通对象Person p = new Person();创建一个匿名对象new Person();创建匿名对象直接使用,没有变量名。new Person().eat() //eat方法被一个没有名字的Person对象调用了.原创 2021-02-21 12:00:13 · 130 阅读 · 0 评论 -
Java static关键字详解
static关键字当在定义类的时候,类中都会有相应的属性和方法。而属性和方法都是通过创建本类对象调用的。当在调用对象的某个方法时,这个方法没有访问到对象的特有数据时,方法创建这个对象有些多余。可是不创建对象,方法又调用不了,这时就会想,那么我们能不能不创建对象,就可以调用方法呢?可以的,我们可以通过static关键字来实现。static它是静态修饰符,一般用来修饰类中的成员。被static修饰的成员变量属于类,不属于这个类的某个对象。(也就是说,多个对象在访问或修改static修饰的成员变量时,其中原创 2021-02-21 12:00:02 · 887 阅读 · 0 评论 -
Java final关键字详解
final关键字继承的出现提高了代码的复用性,并方便开发。但随之也有问题,有些类在描述完之后,不想被继承,或者有些类中的部分方法功能是固定的,不想让子类重写。可是当子类继承了这些特殊类之后,就可以对其中的方法进行重写,那怎么解决呢?要解决上述的这些问题,需要使用到一个关键字final,final的意思为最终,不可变。final是个修饰符,它可以用来修饰类,类的成员,以及局部变量。final的特点,final修饰类不可以被继承,但是可以继承其他类。classYy {}fi.原创 2021-02-21 11:59:50 · 212 阅读 · 0 评论 -
Java super关键字
Super关键字在创建子类对象时,父类的构造方法会先执行,因为子类中所有构造方法的第一行有默认的隐式super();语句。格式:调用本类中的构造方法this(实参列表);调用父类中的空参数构造方法super();调用父类中的有参数构造方法super(实参列表);为什么子类对象创建都要访问父类中的构造方法?因为子类继承了父类的内容,所以创建对象时,必须要先看父类是如何对其内容进行初始化的,看如下程序:public class Test {public sta.原创 2021-02-21 11:59:32 · 104 阅读 · 1 评论 -
Java this关键字详解
this关键字在之前学习方法时,我们知道方法之间是可以相互调用的,那么构造方法之间能不能相互调用呢?若可以,怎么调用呢?this调用构造方法在之前学习方法之间调用时,可以通过方法名进行调用。可是针对构造方法,无法通过构造方法名来相互调用。构造方法之间的调用,可以通过this关键字来完成。构造方法调用格式:this(参数列表);构造方法的调用classPerson {// Person的成员属性privateintage;privateString...原创 2021-02-21 11:59:10 · 149 阅读 · 0 评论 -
Java 构造方法详解
构造方法我们对封装已经有了基本的了解,接下来我们来看一个新的问题,依然以Person为例,由于Person中的属性都被private了,外界无法直接访问属性,必须对外提供相应的set和get方法。当创建人对象的时候,人对象一创建就要明确其姓名和年龄,那该怎么做呢?构造方法介绍在开发中经常需要在创建对象的同时明确对象的属性值,比如员工入职公司就要明确他的姓名、年龄等属性信息。那么,创建对象就要明确属性值,那怎么解决呢?也就是在创建对象的时候就要做的事情,当使用new关键字创建对象时,怎么给对象原创 2021-02-21 11:58:55 · 12470 阅读 · 6 评论 -
Java 接口详解
接口接口是功能的集合,同样可看做是一种数据类型,是比抽象类更为抽象的”类”。接口只描述所应该具备的方法,并没有具体实现,具体的实现由接口的实现类(相当于接口的子类)来完成。这样将功能的定义与实现分离,优化了程序设计。请记住:一切事物均有功能,即一切事物均有接口。接口的定义与定义类的class不同,接口定义时需要使用interface关键字。定义接口所在的仍为.java文件,虽然声明时使用的为interface关键字的编译后仍然会产生.class文件。这点可以让我们将接口看做是一种只包原创 2021-02-21 11:58:02 · 171 阅读 · 0 评论 -
Java 抽象类
抽象类当编写一个类时,我们往往会为该类定义一些方法,这些方法是用来描述该类的功能具体实现方式,那么这些方法都有具体的方法体。但是有的时候,某个父类只是知道子类应该包含怎么样的方法,但是无法准确知道子类如何实现这些方法。比如一个图形类应该有一个求周长的方法,但是不同的图形求周长的算法不一样。那该怎么办呢?分析事物时,发现了共性内容,就出现向上抽取。会有这样一种特殊情况,就是方法功能声明相同,但方法功能主体不同。那么这时也可以抽取,但只抽取方法声明,不抽取方法主体。那么此方法就是一个抽象方法。描原创 2021-02-20 15:47:58 · 271 阅读 · 0 评论 -
Java继承
继承在现实生活中,继承一般指的是子女继承父辈的财产。在程序中,继承描述的是事物之间的所属关系,通过继承可以使多种事物之间形成一种关系体系。例如公司中的研发部员工和维护部员工都属于员工,程序中便可以描述为研发部员工和维护部员工继承自员工,同理,JavaEE工程师和Android工程师继承自研发部员工,而维网络维护工程师和硬件维护工程师继承自维护部员工。这些员工之间会形成一个继承体系,具体如下图所示。在Java中,类的继承是指在一个现有类的基础上去构建一个新的类,构建出来的新类被称作子类,现有类被称作父原创 2021-02-20 15:32:34 · 163 阅读 · 0 评论 -
Java封装的使用
封装提起封装,大家并不陌生。前面我们学习方法时,就提起过,将具体功能封装到方法中,学习对象时,也提过将方法封装在类中,其实这些都是封装。封装,它也是面向对象思想的特征之一。面向对象共有三个特征:封装,继承,多态。接下来我们具体学习封装。封装表现: 1、方法就是一个最基本封装体。 2、类其实也是一个封装体。 从以上两点得出结论,封装的好处: 1、提高了代码的复用性。 2、隐藏了实现细节,还要对外提供可以访问的方式。便于调用者的使用。这是核心之一,也可以理解为就是封装的概念。 3、提高了原创 2021-02-20 15:25:02 · 464 阅读 · 0 评论 -
Java ArrayList集合
ArrayList集合在前面我们学习了数组,数组可以保存多个元素,但在某些情况下无法确定到底要保存多少个元素,此时数组将不再适用,因为数组的长度不可变。例如,要保存一个学校的学生,由于不停有新生来报道,同时也有学生毕业离开学校,这时学生的数目很难确定。为了保存这些数目不确定的元素,JDK中提供了一系列特殊的类,这些类可以存储任意类型的元素,并且长度可变,统称为集合。在这里,我们先介绍ArrayList集合,其他集合在后续课程中学习。ArrayList集合是程序中最常见的一种集合,它属于引用数据类型(原创 2021-02-20 15:14:46 · 445 阅读 · 0 评论 -
Java 方法和方法重载
方法在我们的日常生活中,方法可以理解为要做某件事情,而采取的解决办法。如:小明同学在路边准备坐车来学校学习。这就面临着一件事情(坐车到学校这件事情)需要解决,解决办法呢?可采用坐公交车或坐出租车的方式来学校,那么,这种解决某件事情的办法,我们就称为方法。在java中,方法就是用来完成解决某件事情或实现某个功能的办法。方法的语法格式在Java中,声明一个方法的具体语法格式如下:修饰符返回值类型方法名(参数类型参数名1,参数类型参数名2,......){执行语句………...原创 2021-02-20 15:06:18 · 285 阅读 · 0 评论 -
Java数组
数组在生活中,我们可能会碰到如下的场景。现在需要统计某公司员工的工资情况,例如计算平均工资、最高工资等。假设该公司有50名员工,用前面所学的知识完成,那么程序首先需要声明50个变量来分别记住每位员工的工资,这样做会显得很麻烦。其实在Java中,我们可以使用一个数组来记住这50名员工的工资。数组是指一组数据的集合,数组中的每个数据被称作元素。在数组中可以存放任意类型的元素,但同一个数组里存放的元素类型必须一致数组的定义在Java中,可以使用以下格式来定义一个数组。如下数据类型[]数组.原创 2021-02-20 14:55:59 · 208 阅读 · 0 评论 -
Java基础 switch用法
流程控制语句 选择结构switch switch条件语句也是一种很常用的选择语句,它和if条件语句不同,它只能针对某个表达式的值作出判断,从而决定程序执行哪一段代码。例如,在程序中使用数字1~7来表示星期一到星期天,如果想根据某个输入的数字来输出对应中文格式的星期值,可以通过下面的一段伪代码来描述:用于表示星期的数字如果等于1,则输出星期一如果等于2,则输出星期二如果等于3,则输出星期三如果等于4,则输出星期四如果等于5,则输出星期五如果等于6,则输出星期六如果等于7.原创 2021-02-20 14:42:48 · 443 阅读 · 0 评论 -
Java 引用数据类型 Scanner类用法
引用数据类型 Scanner类 我们要学的Scanner类是属于引用数据类型,我们先了解下引用数据类型。引用数据类型的使用与定义基本数据类型变量不同,引用数据类型的变量定义及赋值有一个相对固定的步骤或格式。数据类型变量名= new数据类型();每种引用数据类型都有其功能,我们可以调用该类型实例的功能。变量名.方法名();Scanner类Scanner类是引用数据类型的一种,我们可以使用该类来完成用户键盘录入,获取到录入的数据。Scanner使用步骤:导包:i...原创 2021-02-20 14:34:24 · 700 阅读 · 0 评论 -
Java变量、运算符
变量 变量概述 前面我们已经学习了常量,接下来我们要学习变量。在Java中变量的应用比常量的应用要多很多。所以变量也是尤为重要的知识点!什么是变量?变量是一个内存中的小盒子(小容器),容器是什么?生活中也有很多容器,例如水杯是容器,用来装载水;你家里的大衣柜是容器,用来装载衣裤;饭盒是容器,用来装载饭菜。那么变量是装载什么的呢?答案是数据!结论:变量是内存中装载数据的小盒子,你只能用它来存数据和取数据。计算机存储单元变量是内存中的小容器,用来存储数据。那么计算机内存是怎么存储数据的呢.原创 2021-02-20 14:24:41 · 201 阅读 · 0 评论 -
Java 数据类型分类
Java语言是强类型(strongly typed)语言,强类型包含两方面的含义:①所有的变量必须先声明、后使用:②指定类型的变量只能接受类型与之匹配的值。这意味着每个变量和每个表达式都有一个在 编译时就确定的类型。类型限制了一个变量能被赋的值, 限制了一个表达式可以产生的值,限制了在这些值上可以进行的操作,并确定了这些操作的含义。强类型语言可以在编译时进行更严格的语法检查,从而减少编程错误。声明变量的语法非常简单,只要指定变量的类型和变量名即可,如下所示:type varName[ =初始值原创 2021-02-20 13:54:26 · 384 阅读 · 0 评论