![](https://img-blog.csdnimg.cn/20190703211626139.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
编程学习技术
此专栏主要是本人学习编程语言之路上的总结与各位道友的交流,往能在这能给别人带来帮助和自我的提升。。。
Jason_LH1024
加油!加油!
展开
-
多态
面向对象的三大特征:封装性、继承性、多态性。extends继承或者implements实现,是多态性的前提。【继承性是多态性的前提】一个对象具有多种形态,这就是对象的多态性。代码当中体现多态性,其实就是一句话:父类引用指向子类对象。格式:父类名称 对象名 = new 子类名称(); 左父右子;或者:接口名称 对象名 = new实现类名称()pa...原创 2019-08-05 00:16:25 · 115 阅读 · 0 评论 -
接口之间的多继承
接口之间的继承:1.类与类之间是单继承的。直接父类只有一个。2.类与接口之间是多实现的。一个类可以实现多个接口。3.接口与接口之间是多继承的。注意:1.多个父接口当中的抽象方法如果重复,没关系。package cn.itcast.day09.java.多继承;public interface MyInterfaceA { public abstra...原创 2019-08-04 01:31:12 · 471 阅读 · 0 评论 -
继承父类并实现多个接口
使用接口时注意:1.接口是没有静态代码块或者构造方法的。package cn.itcast.day09.java.接口静态;/** * @Author: Jason * @Date: 2019/8/3 21:36 * @Version 1.0 */public interface demoInterface {// static {// ...原创 2019-08-04 01:07:26 · 316 阅读 · 0 评论 -
接口的内容总结
在Java 9+ 版本中接口的内容可以有:1.成员变量其实就是常量,格式:【public】【 static】【 final】 数据类型 常量名称 = 数据值;注意:常量必须进行赋值,而且一旦赋值不能改变。【】里的内容可以省略。常量名称完全大写,用下划线进行分隔。2.接口中最重要的就是抽象方法,格式:【public】【 abstract】 返回值...原创 2019-07-26 14:16:03 · 364 阅读 · 0 评论 -
接口的常量定义和使用
接口当中也可以定义“成员变量”,但是必须使用 public static final 三个关键字进行修饰。从效果上看,这其实就是接口的【常量】。格式:public static final 数据类型 常量名称 = 数据值;注: 一旦使用final关键字进行修饰,说明不可改变。注意事项;1.接口当中的常量,可以省略public static final ,注...原创 2019-07-26 14:00:04 · 3474 阅读 · 2 评论 -
接口的私有方法
1.需要抽取一个共有方法,用来解决两个默认方法之间重复代码的问题时,但这个共有方法不应该让实现类使用,应该是私有化的。从Java 9开始,接口当中允许定义私有方法。1.普通私有方法,解决多个默认方法之间重复代码问题。格式:private 返回类型 方法名称(参数列表){方法体}package cn.itcast.day09.java.接口静态方法;/**...原创 2019-07-25 18:10:20 · 745 阅读 · 0 评论 -
接口的静态方法的定义和使用
1.从Java 8开始,接口当中允许定义静态方法。格式:public static 返回值类型 方法名称(参数列表){方法体}提示:就是将abstract或者default换成static即可,带上方法体。2.接口静态方法的使用:注意事项:不能通过接口实现类的对象来调用接口当中的静态方法.正确用法:通过接口名称,直接调用其中的静态方法.格式:接口名称....原创 2019-07-24 10:53:52 · 3646 阅读 · 0 评论 -
java接口
1.生活中有电源插座中的电源接口,这是生活中的接口,一种型号都一样。接口就是一种公共的规范标准,只要符合规范标准,就可以大家通用。如:USB接口。接口就是多个类的公共规范。接口是一种引用数据类型,最重要的内容就是其中的:抽象方法。如何定义一个接口的格式:public interface 接口名称{//接口内容}备注:换成了关键字interface后,...原创 2019-07-23 22:09:16 · 135 阅读 · 0 评论 -
继承的综合案例——发红包
问题:群主发普通红包。某群有多名成员,群主给成员发普通红包。普通红包规则:1.群主的一笔金额,从群主余额中扣除,平均分成n等分,让成员领取。2.成员领取红包后,保存到成员余额中。请根据描述,完成案例中所有类的定义以及指定类之间的继承关系,并完成红包事件。package cn.itcast.day09.java.demo红包;/** * @Author...原创 2019-07-22 19:56:14 · 203 阅读 · 0 评论 -
java抽象的学习
1.什么是抽象:比如:图形有正方形、三角形、圆形等。这些具体的图形为子类,然而父类是个抽象的图形概念,在父类中定义一个计算图形面积的方法,但却不知道这个方法具体是执行哪个图形的,这就是抽象方法。定义一个父类为动物,其中定义一个方法为吃东西,子类中有猫子类和狗子类,在父类中的动物吃东西,也没有具体到是哪个动物吃东西,所以这是一个抽象方法。注:如果父类当中的...原创 2019-07-21 21:57:30 · 216 阅读 · 1 评论 -
java继承的三个特点
1.java语言是单继承的。一个类的直接父类只能有唯一一个。相当于自一个孩子的生身父亲只有一个。2.java语言可以多级继承。我有一个父亲,我父亲还有一个父亲,也就是爷爷。3.一个子类的直接父亲是唯一的,但是一个父类可以拥有很多个子类。可以有很多个兄弟姐妹,生二胎。...原创 2019-07-21 14:14:07 · 588 阅读 · 0 评论 -
super和this关键字的三种用法
1.super关键字的用法有三种:1.在子类的成员变量中,访问父类的成员变量。2.在子类成员方法中访问父类的成员方法。3.在子类的构造方法中,访问父类的构造方法。package Java继承06;/** * @Author: Jason * @Date: 2019/7/20 20:36 * @Version 1.0 */public class Fu {...原创 2019-07-20 21:41:32 · 659 阅读 · 0 评论 -
java继承——构造方法的访问特点
继承关系中,父子类构造方法的访问特点:1.子类构造方法当中有一个默认隐含的“super( )”调用,所以一定是先调用父类构造,后执行的子类构造。2.可以通过super关键字来使子类构造调用父类重载构造。3.super得父类构造调用,必须是子类构造方法的第一个语句,不能一个子类构造调用多次super构造。总结;子类必须调用父类构造方法:不写则赠送super();...原创 2019-07-20 18:19:39 · 605 阅读 · 0 评论 -
java继承——方法的覆盖重写
覆盖(Override):覆盖、重写概念:在继承关系当中,方法名称一样,参数列表也一样。重写(Override):方法的名称一样,参数列表【也一样】。覆盖、重写。重载(Overload):方法的名称一样,参数列表【不一样】。方法的覆盖重写特点:创建的是子类对象,则优先用子类方法。方法覆盖重写的注意事项:1.必须保证父子类之间方法的名称相同,参数列表也相同。...原创 2019-07-16 15:23:11 · 248 阅读 · 0 评论 -
java继承——成员方法的访问特点
在父子类的继承关系当中,创建子类对象,访问成员方法的规则:创建的对象是谁,就优先用谁,如果没有就向上找。重名名的方法:【注意】无论是成员方法还是成员变量,如果没有都是向上找父类,绝对不会向下找子类的。package java继承04;/** * @Author: Jason * @Date: 2019/7/16 14:04 * @Version 1.0 */publ...原创 2019-07-16 14:47:21 · 625 阅读 · 0 评论 -
java继承——变量访问特点
1.一般子类继承父类,顺带就会继承了父类的变量,在不重名的情况下。在父子类的继承关系当中,如果成员变量重命名,则创建子类对象时,访问有两种方式:①直接通过子类对象访问成员变量:等号左边时谁,就优先用谁,没有则向上找。②间接通过成员方法访问成员变量:父类:package java继承01;/** * @Author: Jason * @Date: 2019/7...原创 2019-07-11 11:10:39 · 373 阅读 · 0 评论 -
java继承
面向对象的三大特征:封装性、继承性、多态性。继承是多态的前提,没有继承就没有多态。利用继承,人们可以基于已存在的类构造一个新的类。继承已存在的类就是复用(继承)这些类的方法和域。在此基础上,还可以添加一些新的方法和域,以满足新的需求。继承主要解决的问题就是:共性抽取。继承关系当中的特点:1.子类可以拥有父类的 “内容”。2.子类还可以拥有自己的 “内容”。...原创 2019-07-11 08:46:54 · 156 阅读 · 0 评论 -
Math数学工具类练习:小学数学题
题目:计算在-10.8到5.9之间,绝对值大于6或者小于2.1的整数有多少个? 分析: 1.确定了范围。for循环 2.起点位置-10.8应该转换为-10 ①可以使用Math.ceil方法,向上(向正方向)取整 ②强制转换成int,自动舍弃所有小数位。 3.每一个数字都是整数,所以步进表达式应该是num++,这样每次都是+1的。 5.一旦发现一个数字,需要让计数器...原创 2019-07-08 17:41:45 · 296 阅读 · 0 评论 -
Math数学工具类
java.lang.Math类是数学相关工具类,里面提供了大量的静态方法,完成与数学运算相关的操作。/** * public static double abs(double num):获取绝对值。 * public static double ceil(double num):向上取整。 * public static double floor(double num):向下取整。 ...原创 2019-07-08 17:18:51 · 146 阅读 · 0 评论 -
Arrays练习:字符串倒序
题目:请使用Arrays相关的API,将一个随机字符串中的所有字符升序排列,并倒序打印。分析: 1.升序排列:sort 2.必须是一个数组,才能用Arrays.sort方法3.String --> 数组,才能用toCharArray import java.util.Arrays;public class DemoArraysPractice { publ...原创 2019-07-08 16:59:11 · 742 阅读 · 0 评论 -
API中部分工具类的学习使用
1.Arrays数组工具类java.util.Arrays是一个与数组相关的工具类,里面提供了大量的静态方法,用来实现数组常见的操作。public static String toString(数组):将参数数组变成字符串(按照默认格式:[元素1,元素2,元素3...])这是JDK API 文档里查看的内容:public static void sort(数组):...原创 2019-07-08 16:38:41 · 156 阅读 · 0 评论 -
静态Static关键字
1.静态关键子修饰成员变量。首先用一个图解述一下Static的作用。然后用一个事例实现一下。package 静态关键字;/** * @Author: Jason * @Date: 2019/7/3 20:32 * @Version 1.0 */public class Student { private int id; pri...原创 2019-07-03 21:08:47 · 151 阅读 · 0 评论 -
字符串学习——练习题
1.按照指定的格式拼接字符串定义一个方法:把数组{1,2,3,4}按照指定的格式拼接成一个字串。格式参照如下:[word1#word2#word3#word4]分析:1.准备一个int[]数组 内容1,2,3,42.定义一个方法,用来将一个数组变成字符串三要素:返回值类型:String方法名:fromArrayToString参数列表 :int[]...原创 2019-06-18 13:31:39 · 172 阅读 · 0 评论 -
字符串及其方法学习
/*** 字符串的特点:* 1.字符串地内容永不可变【*】* 2.正是因为字符串不可变,所以字符串是可以共享使用得* 3.字符串效果上相当于是char[]字符数组,但是底层原理是byte[]字节数组。* 创建字符串得常见3+1种方式* 三种构造方法:* public String(); 创建一个空白字符串,不含有任何内容。* public String(char[] array)...原创 2019-06-12 10:49:23 · 476 阅读 · 2 评论 -
对象包装器和自动装箱
有时,需要将int这样的基本数据类型转换为对象。所有的基本类型都有一个与之对应的类。* 基本类型 包装类 (引用类型,包装类都位于java.Lang包下)* byte Byte* short Short* long Long* int...原创 2019-06-10 21:30:31 · 125 阅读 · 0 评论 -
ArrayList集合存储基本数据类型
/***如果希望向集合ArrayList当中存储基本类型数据,必须使用基本类型对应的“包装类”* 基本类型 包装类 (引用类型,包装类都位于java.Lang包下)* byte Byte* short Short* long Long* int Integer 【特殊】* float Float* double Double* char Character 【特...原创 2019-06-10 16:51:52 · 8297 阅读 · 0 评论 -
对象数组学习
对象数组就是数组里的每个元素都是类的对象,赋值时先定义对象,然后将对象直接赋给数组就行了。定义一个数组,用来储存3个Person对象。数组有一个缺点:一旦创建,程序运行期间长度不可以发生变化package 对象数组;/** * @Author: Jason * @Date: 2019/6/5 12:09 * @Version 1.0 */public clas...原创 2019-06-05 21:08:35 · 311 阅读 · 0 评论 -
Random的概述和使用
Random类用来生成随机数字。使用三步骤:1.导包import java.util.Random;2.创建Random r = new Random(); 【小括号留空】3.使用获取一个随机的int数字(范围是int所有范围的,有正负两种):int num = r.nextInt()获取一个随机数的int数字(参数代表了范围,左闭右开区间);int num =...原创 2019-06-04 22:05:03 · 270 阅读 · 0 评论 -
Java的匿名对象学习
/*** 创建对象的标准格式:* 类名称 对象名 = new 类名称();** 匿名对象就是右边的对象,没有左边的名字和赋值运算符。* new 类名称();** 【注意】匿名对象只能使用唯一的一次,下次再用不得不再次创建一个新的对象* 【建议使用】如果确定有一个对象只需要使用唯一的一次,就可以用匿名对象。*/package 匿名对象;/** * @A...原创 2019-06-04 20:29:22 · 142 阅读 · 0 评论 -
API概述及使用
API(Application Programming Interface),应用程序编程接口。Java API是一本程序员的“字典”,是JDK中提供给我们使用类的说明文档,这些类将底层的代码实现封装了起来,我们不需要关心是如何实现的,只需要学习这些类如何使用即可。1.打开帮助文档。。。。。Scanner类的功能:可以实现键盘输入数据到程序当中。引用类型的一般使用步骤:...原创 2019-06-03 18:13:42 · 283 阅读 · 0 评论 -
定义一个标准类
一个标准的类通常有四个组成部分:1.所有的成员变量都要使用private关键字修饰2.为每一个成员变量编写一对Getter/Setter方法3.编写一个无参数的构造方法4.编写一个全参数的构造方法这样的标准类也叫:Java Beanpackage 标准类;/** * @Author: Jason * @Date: 2019/6/3 8:57 * @Vers...原创 2019-06-03 09:14:49 · 438 阅读 · 0 评论 -
构造方法
构造方法是专门用来创建对象的方法,当我们通过关键字new来创建对象时,其实就是在调用构造方法;new对象就是在 调用构造方法格式:public 类名称(参数类型 参数名称){方法体}【注意】1.构造方法的名称必须和所在的类名称完全一样,连大小写都要一样。2.构造方法不要写返回值类型,连void也不写。3.构造方法不能return一个具体的返回值4...原创 2019-06-02 22:06:53 · 1251 阅读 · 0 评论 -
this关键字的作用
当方法的局部变量和类的成员变量重命名的时候,根据:"就近原则" ,优先使用就局部变量。如果需要访问本类当中的成员变量,需要使用格式:this.成员变量名即此时看到this就是看到成员变量。先建了一个Person类 ,通过DemoPerson里的main方法调用Person类内容。package 关键字;/** * @Author: Jason * @Date: 2...原创 2019-06-02 15:56:59 · 146 阅读 · 0 评论 -
面向对象的三大特征——封装
面向对象三大特征:封装、继承、多态。封装性在java中的体现:1.方法就是一种封装。2.关键字private也是一种封装封装就是将一些细节信息隐藏起来,对于外界不可见。package 封装;/** * @Author: Jason * @Date: 2019/5/31 19:06 * @Version 1.0 */public class DemoMeth...原创 2019-06-01 19:51:00 · 219 阅读 · 0 评论 -
成员变量和局部变量的区别
局部变量和成员变量:1.定义的位置不一样【重点】局部变量:在方法的内部成员变量:在方法的外部,直接写在类中2.作用范围不一样【重点】局部变量:只有方法当中才可以使用,出了方法就不能再用成员变量:整个类全都可以通用。3.默认值不一样【重点】局部变量:没有默认值,如果想要使用,必须手动进行赋值。成员变量:如果没有赋值,会有默认值。规则和数组一样。...原创 2019-05-31 00:10:55 · 130 阅读 · 0 评论 -
数组越界和而空指针异常简单实例
数组越界异常:数组的索引编号从零开始,直到“数组的长度-1"为止。package 数组java;/** * @Author: Jason * @Date: 2019/5/29 10:09 * @Version 1.0 */public class DemoArrayOne { public static void main(String[] args) { ...原创 2019-05-29 10:47:50 · 824 阅读 · 0 评论 -
java的内存分配
由于天色已晚 今天小小总结一点东西 1.栈(Stack):存放的都是方法中的局部变量。方法的运行一定要在栈当中运行。局部变量:方法的参数,或者是方法{}内部的变量作用域:一旦超出作用域,立刻从栈内存当中消失。2.堆(Heap):凡是new出来的东西,都在堆当中堆内存里面的东西都有一个地址值:16进制堆内存里面的数据,都有默认值。规则:如果是整数 默认为0浮点数...原创 2019-05-27 23:57:16 · 139 阅读 · 0 评论 -
面向对象简述
面向过程:当需要实现一个功能时,每一个具体的步骤都要亲历亲为,详细处理每一个细节。面向对象: 当需要实现一个功能时,不关心具体的步骤,而是找一个已经具有该功能的人,帮我做事。简单点两个字:“偷懒”。package 面向对象;import java.util.Arrays;/** * @Author: Jason * @Date: 2019/5/25 14:57 * @Ver...原创 2019-05-25 20:40:24 · 165 阅读 · 0 评论 -
java数组
数组:是一种容器,可以存放多个数据值。数组的特点:1.数组是一种引用数据类型2.数组当中的多个数据,类型必须统一3.数组的长度在程序运行期间不可改变。数组的初始化:在内存中创建一个数组,并且向其中赋予一些默认值。两种常见的初始化方式:1.动态初始化(指定长度)2.静态初始化(指定内容)动态初始化数组的格式:数据类型[ ] 数组名称 = new 数...原创 2019-05-20 23:06:15 · 197 阅读 · 0 评论 -
java方法的重载练习
1.题目要求;比较两个数据是否相等,参数类型分别为两个byte,short,int,long类型。并在mian方法中进行调试。public class MethosOverloadSame { public static void main(String[] args) { System.out.println(isSame((byte)10,(byte)20...原创 2019-04-30 09:42:43 · 1103 阅读 · 0 评论