- 博客(26)
- 收藏
- 关注
原创 内部类
内部类内部类就是在一个类的内部定义一个类,比如,A类中定义一个B类,那么B类相对与A类来说就被称为内部类,而A类相对B类来说就是外部类。1,成员内部类2,静态内部类3,局部内部类4,匿名内部类package com.oop.Demo10;//此段代码主要展示类和接口的其他各种写法,但是不建议使用,会降低程序的可读性public class Outer { private int id = 10; public void out(){ Sy
2021-01-21 17:20:40
91
原创 接口
接口普通类:只有具体实现抽象类:具体实现和规范(抽象方法)都有!接口:只有规范!自己无法写方法,专业的约束!约束和实现分离:面向接口编程。接口就是规范,定义的是一组规则,体现了显示世界中“如果你是…则必须能…"的思想。如果你是鸟,就必须有翅膀。如果你是汽车,就必须能跑。接口的本质是契约,就如同法律一样,制定好以后大家都需要遵守。OO的精髓,是对对象的抽象,最能体现这一点的就是接口。为什么我们讨论设计模式都只针对具备了抽象能力的语言(比如c++、java、c#等),就是因为
2021-01-21 17:19:44
89
原创 抽象类
抽象类abstract修饰符可以用来修饰方法也可以修饰类,如果修饰方法,那么该方法就是抽象方法;如果修饰类,那么该类就是抽象类。抽象类中可以没有抽象方法,但是有抽象方法的类一定要声明抽象类。抽象类,不能使用new关键字来创建对象,它是用来让子类继承的。抽象方法,只有方法的声明,没有方法的实现,他是用来让子类实现的。子类继承抽象类,那么就必须要实现抽象类没有实现的抽象方法,否则该子类也要声明为抽象类package com.oop.Demo08;//抽象类的所有方法,继承了它
2021-01-21 17:18:58
145
原创 多态
多态动态编译:类型:可扩展性即同一方法可以根据发送对象的不同而采用多种不同的行为方式。一个对象的实际类型是确定的,但可以指向对象的引用的类型有很多多态存在的条件有继承关系子类重写父类的方法父类引用指向子类对象注意:多态是方法的多态,属性没有多态性。instanceof (类型转换) 引用类型,判断一个对象是什么类型 package com.oop.Demo06; public class Person { publ
2021-01-21 17:17:59
67
原创 继承
继承继承的本质是对某一类的抽象,从而实现对现实世界更好的建模。public class Student extends Person //子类Student 继承了父类Personextands的意思是“扩展”。子类是父类的扩展。JAVA中类只有单继承(一个子类只能有一个父类,但是一个父类可以有多个子类),没有多继承!继承是类和类之间的一种关系,除此之外,类和类之间的关系还有依赖、组合、聚合等。继承关系的两个类,一个为子类(派生类),一个为父类(基类)。子类继承父类
2021-01-21 17:09:32
57
原创 封装
封装开放和封闭我们程序设计要追求“高内聚,低耦合”。高内聚就是类的内部数据操作细节自己完成,不容许外部干涉;低耦合:仅暴露少量的或者不暴露方法给外部使用。封装(数据的隐藏)通常,应禁止直接访问一个对象中数据的实际表示,而应通过操作接口来访问,这称为信息隐藏。属性私有,get/set//类 private: 私有public class Student { //属性私有 private int ID; //学号 private String na
2021-01-21 14:46:10
76
原创 创建与初始化对象
创建与初始化对象使用new关键字创建对象使用new关键字创建的时候,除了分配内存空间之外,还会给创建好的对象进行默认的初始化以及对类中构造器的调用。类中构造器也称为构造方法,是在进行创建对象的时候必须要调用的。并且构造器有以下两个特点:1,必须和类的名字相同2,必须没有返回类型,也不能写void构造器必须要掌握package com.oop.demo03;public class Pet { public String name; public int
2020-12-23 11:06:07
87
1
原创 类与对象
类与对象类是将现实世界或思维世界中的实体反映在计算机中的一种抽象的数据类型,它将数据以及这些数据上的操作封装在一起,它是对某一类事物整体描述/定义,但是并不能代表某一个具体的事物。例如:动物、植物、手机、电脑…Person类、Pet类、Car类等,这些类都是用来描述/定义某一类具体的事物应该具备的特点和行为对象是抽象概念的具体实例、或者说是具有类的类型的变量。比如张三,李四就是人类的一个具体实例,也是人类的一个变量能够体现出特点,展现出功能的具体实例,而不是一个抽象的概念。
2020-12-23 11:00:28
66
原创 回顾方法和加深
回顾方法和加深方法的定义修饰符返回类型break:跳出switch,结束循环 和 return的区别方法名:注意规范,见名知意参数列表:(参数类型,参数名)…异常抛出://Demo01 类public class Demo01 { //main 方法 public static void main(String[] args) { } /* 修饰符 返回值类型 方法名(...){ //方法体
2020-12-23 10:43:00
60
原创 面向对象简介
面向对象和面向过程面向过程面向过程用于处理详细的问题,是具体的,流程化的,需要一步一步的去分析,比如需要做一件事,先做什么,再做什么,最后做什么。对于过于复杂的问题,仅仅用面向过程是不够的。但是在性能方面,面向过程强于面向对象,因为类的调用,需要实例化,比较消耗资源面向对象在处理更为复杂的情况时,我们可以用面向对象的思路来分析整个系统,将系统拆分为各种模块,将每个模块用面向过程的方法抽象成类,然后封装,方便我们使用面向对象易维护、易复用、易扩展的优点。面向对象由于其特性
2020-12-23 10:26:04
80
原创 流程控制
顺序结构- Java的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句句执行。- 顺序结构是最基本的算法结构IF选择结构if单选择结构if(true/*boolean*/){ //如果是true则执行程序}if双选择结构if(true/*boolean*/){ //如果布尔表达式的值为true,则执行}else{ //如果布尔表达式的值为false,则执行}if多选择结构if(boolean1){ //boolean1为ture执行}el
2020-10-07 19:17:49
790
原创 方法入门
方法(method)什么是方法方法是为了实现某个功能的语句的集合,也可以理解为我们通常理解的做事的方法,在JAVA里,方法语句后面都带着括号方法包含于类或对象中方法在程序中被创建,在其他地方(另一段程序)被引用例如:System.out.println(),其中System是类,out是对象,println()是方法在设计程序的时候,最好一个方法只实现一个功能,方便后期的扩展(方法的原子性)//实例,创建并使用add方法public class Demo01 { //main方法
2020-09-02 10:33:35
83
原创 Java循环结构
顺序结构- Java的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句句执行。- 顺序结构是最基本的算法结构IF选择结构if单选择结构if(true/*boolean*/){ //如果是true则执行程序}if双选择结构if(true/*boolean*/){ //如果布尔表达式的值为true,则执行}else{ //如果布尔表达式的值为false,则执行}if多选择结构if(boolean1){ //boolean1为ture执行}el
2020-06-22 16:40:10
508
原创 用户交互Scanner
Scanner对象Scanner是Java的一个工具类,可以用来获取用户的输入。java.util.Scanner是Java5的新特性。基本语法Scanner s = new Scanner(System.in);通过Scanner类的next()和nextLine()方法获取输入的字符串,在读取前我们一般需要使用hasNext()和hasNextLine()判断是否还有输入的数据。next():1,一定要读取到有效字符后才可以结束输入2,对输入的有效字符之前遇到的空白,ne
2020-06-16 18:17:39
123
原创 JavaDoc初识
JavaDocjavadoc命令是用来生成自己的API文档的参数信息@author 作者名@version 版本号@since 指明需要最早使用的jdk版本@param 参数名@return 返回值情况@throws 异常抛出情况E:\javadoc -encoding UTF-8 -charset UTF-8 Doc.java 在程序中写入文本注释后,可通过上述方法生成API文档,也可以使用IDEA内置的功能进行生成 使用javadoc命
2020-05-18 20:18:56
87
原创 包机制
包机制为了更好的组织类,java提供了包机制,用于区别类名的命名空间类似于操作系统中的文件夹系统包语句的语法格式为:package pkg1[.pkg2[.pkg3...]];package com.baidu.www;包的命名规则一般用公司的域名倒置作为包名,比如com.baidu.www为了能够使用某一个包中的某个成员,我们需要在Java程序中明确导入该包,使用"import"语句可完成此功能import package1[.package2...].(classname|
2020-05-18 20:17:54
114
原创 运算符Operator
运算符OperatorJava语言支持如下运算符算数运算符:+,-,*,/,%(取余:比如12/5余2,也叫模运算),++(一元运算符),–int a = 3;int b = a++; //执行完这行代码后,先给b赋值,再自增//a = a + 1; int c = ++a; //执行完这行代码前,先自增,再给c赋值赋值运算符: =关系运算符:>, <, >=, <=, ==(等于), !=(不等于) instanceof逻辑运算符:&&
2020-05-15 19:12:49
164
原创 变量初识
变量Java是一种强类型语言,每个变量都必须声明其类型Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域type varName [=value] [{,varName[=value]}];//数据类型 变量名 = 值;可以使用逗号隔开来声明多个同类型变量,但不建议使用。变量的作用域类变量(加了static,从属于类,在本类中可以直接使用)实例变量(从属于对象;声明后即可使用,如果不初始化,即输出默认值,基本类型默认值为0,布尔值默认false,其他类型默认值为nul
2020-05-12 19:47:54
137
原创 数据类型扩展
数据类型扩展各种进制在JAVA中如何表示整数二进制 0b八进制 0十进制十六进制 0x int i1 = 0b10; int i2 = 010; int i3 = 10; int i4 = 0x10; System.out.println(i1 + i2 + i3 + i4); 结果会输出36浮点数float类型和double并不精准,存在舍入误差最好完全避免使用浮点数进行比较float f = 0.
2020-05-11 20:25:12
90
原创 数据类型
数据类型强类型语言要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用弱类型语言要求变量的使用符合规定。Java的数据类型分为两大类基本类型(primitive type)数值类型整数类型byte占1个字节,范围:-128-127short占2个字节,范围:-32768-32767int占4个字节,范围:-2147483648-2147483647long占8个字节,范围:-9223372036854775808-922337203685477
2020-05-11 20:24:19
80
原创 Java标识符
Java标识符关键字abstractassertbooleanbreakbytecasecatchcharclassconstcontinuedefaultdodoubleelseenumextendsfinalfinallyfloatforgotoifimplementsimportinstanceofintinterfacelongnativenewpackageprivateprotectedpublicreturnstric
2020-05-11 20:21:24
78
原创 JAVA注释
JAVA注释单行注释//单行注释多行注释/*多行注释*/文本注释//JavaDoc:文本注释/***文本注释*/网上有很多有趣的代码注释
2020-05-11 20:17:28
69
原创 常用DOS命令(部分)
cddirclsmdipconfigcalc #计算器mapaint #画图notepad #记事本md rd #删除文件夹cd> #创建文件夹del
2020-04-27 19:15:05
155
原创 markdown编辑器初步使用方法了解
Markdown学习二级标题三级标题四级标题字体Hello,World!Hello,World!Hello,World!Hello,World!引用选择狂神说java,走向人生巅峰分割线图片[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xfwSVrcX-1587858478662)©]超链接点击跳转到百度列表1.A2.B...
2020-04-26 07:48:49
111
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人