1.面向对象的特征二:继承 定义: 指一个对象直接使用另一对象的属性和方法. 继承好处: 1.提供代码的复用性. 2.让类与类直接产生了关系,给第三个特征多态提供了前提. java中支持单继承.不直接支持多继承,但对C++中的多继承机制进行改良. 单继承:一个子类只能有一个父类. 多继承:一个子类可以有多个直接父类(java中不允许,进行改良,不直接支持,因为多个父类中有相同的成员,会产生调用不确定性,在java中是通过“多实现”的方法来体现的. java支持多层(多重)继承.(例如C继承B,B…
1.java语言的三种技术架构: J2SE(java 2 Platform Standard Edition):标准版,是为开发普通桌面和商务应用程序提供的解决方案.该技术体系是其他两者的基础,可以完成一些桌面应用程序的开发,Java 5.0 版本后更名为JavaSE. J2EE(java 2 Platform Enterprise Edition):企业版,是为开发企业环境下的应用程序提供的一套解决方案,该技术体系中包含的技术如 Servlet Jsp等,主要针对于Web 应用开发,Java…
上节中写了一些static变量以及静态的方法的定义使用以及与非静态的差别,这节补充下: 如果在一个类中所有方法都为静态的,且无成员变量,这时候需要对对应的类进行限制该类无法创建对象,具体操作如下: private ArrayTool(){} //该类中的方法都是静态的,所以该类是不需要的创建对象的.为了保证不让其他成创建该类对象,可以将该类的构造函数私有化. 1.文档注释 利用java虚假机中的javadoc工具进行文档注释生成,利用代码中的文档注释进行生成. 注意: 1.每个编译单元(类文件)…
面向对象(2) this:代表对象.代表哪个对象呢?当前对象. 当成员变量和局部变量重名,可以用关键字this来区分. this就是所在函数所属对象的引用.(简单说:哪个对象调用了this所在的函数,this就代表哪个对象.) this也可以用于在构造函数中调用其他构造函数.注意:只能定义在构造函数的第一行.因为初始化动作要先执行. 例如:person(String name){this.name = name;} person(String name,int age){this(name);t…
面向对象 面向过程:对于面向过程思想,强调的是过程(动作). 面向对象:对于面向对象思想,强调的是对象(实体). 特点: 1,面向对象就是一种常见的思想.符合人们的思考习惯.2,面向对象的出现,将复杂的问题简单化.3,面向对象的出现,让曾经在过程中的执行者,变成了对象中的指挥者. 类与对象: java语言对现实生活中的事物进行描述,通过类的形式来体现的. 对于事物描述通常只关注两方面:一个是属性,一个是行为. 只要明确该事物的属性和行为并定义在类中即可. 类:事物的描述.对象:该类事物的实例.在…
1.数组 概念:同一种类型数据的集合.其实就是数组就是一个容器. 好处:可以自动给数组中的元素从0开始编号,方便操作这些元素. 格式: ①. 元素类型[] 数组名 = new 元素类型[元素个数或数组长度]; 例:int[] arr = new int[5]; ②.元素类型[] 数组名 = new 元素类型[]{元素,元素,....};  例:int[] arr = new int[]{3,5,1,7}; 或者 int[] arr = {3,5,1,7}; 常见异常: ①.ArrayIndexO…
1.Java语言-关键字 关键字:被java语言赋予了特殊含义的词,特点是所有的字母都为小写. java涉及到的关键字整理: 用于定义数据类型的关键字 class interface byte short int long float double char boolean void       用于定义数据类型值的关键字 true false null     用于定义流程控制的关键字 if else switch case default while do for break continu…
设计模式:对问题行之有效的解决方式.其实它是一种思想. 1.单例设计模式. 解决的问题:就是可以保证一个类在内存中的对象唯一性.(单个实例) 使用单例设计模式需求:必须对于多个程序使用同一个配置信息对象时,就需要保证该对象的唯一性. 如何保证对象唯一性?                                                      解决步骤: 1.不允许其他程序用new创建该对象.                                           …
1.函数 函数就是定义在类中具有特定功能的一段独立小程序,也称为方法. 定义函数的格式: 修饰符 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2,...)         {                   执行语句;                   return 返回值;          } 特点:①.定义函数可以将功能代码进行封装,便于对该功能进行复用. ②.函数只有被调用才会被执行. ③.函数的出现提高了代码的复用性. 特殊情况: 功能没有具体的返回值,返回值类型…
上一节对于运算符有了大致的了解,这一节针对程序流程控制进行复习!程序流程控制包括顺序结构.判断结构(if).选择结构(switch).循环结构. 1.判断结构 ①if语句的第一种格式:        if(条件表达式)        {            执行语句:        } ②if语句的第二种格式: if(条件表达式)        {            执行语句:        }        else//否则        {            执行语句:      …
上一节写了一些运算符的注意事项,这节开头依然是对运算符的一些注意点的阐述! 比较运算符除了>.>=.<.<=.==.!=之外需要注意instanceof:检查是否是类的对象,例如:”Hello” instanceof String ,返回结果位true. 1.逻辑运算符 &(与)的运算特点:运算的两边只要有一个是false,结果肯定是false,只有两边都为true,结果才true: |(或)的运算特点:运算的两边只要有一个是true,结果肯定是true,只有两边都为fal…
前言 Java基础面向对象-静态,单例模式,继承详情知识点.静态-static关键字,static变量,静态代码块,代码块(不加静态),对象创建过程,单例模式,继承. 静态-static关键字 // 定义类 class Person { // 定义name,age属性 private String name; private int age; // 定义有参数的构造方法 Person(String name, int age){ this.name = name; this.age = age;…
整体大纲图 1.认识java 核心知识点:JVM.搭建Java开发环境.java的发展史.java特点.java程序类型.垃圾收集器.J2SE下载和安装.环境变量的配置和测试.以及简单的开发工具的使用等等:主要了解java的发展史.特点.JDK.JRE.java技术体系.以及工具的安装与简单使用: 1.1.初步了解计算机 1.1.1 硬件与软件的区别? 硬件 1.cpu是一台计算机的运算核心和控制核心.其功能主要是解释计算机指令以及处理计算机软件中的数据.CPU由运算器.控制器.寄存器.高速缓存…
Java编程入门知识   知识概要: (1)Java入门基本常识 (2)Java的特性跨平台性 (3)Java的编程环境的搭建 (4)Java的运行机制 (5)第一个Java小程序入门 (1)Java的入门知识: 基础常识 软件开发,     人机交互方式,   常用的DOS命令 如见开发的概念 软件:一系列按照特定顺序的组织的计算机数据和指令的集合. 常见的软件:  QQ MSN  飞信  微信  支付宝.. 系统软件: 应用软件 什么是开发?软件开发就可以简单的理解为制作软件. 知识扩延:人…
因为平时用到一些java的项目,比如ElasticSearch,zookeeper等,有时也想看看里面怎么实现的,或者看到别人分析原理时候会用到java源码, 自己也想跟着学一下,最起码能看懂别人的分析,所以就学习一下java的基础知识.有一定其他语言基础,java基础概念学起来也比较顺利. 这里记录下,以后自己忘了可以再复习. 一:下载jdk https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133…
封装: 1.定义:隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别. 2.封装的目的是:增强安全性和简化编程,使用者不必了解具体的实现细节,而只是要通过外部接口,一特定的访问权限来使用类的成员. 3.封装的基本要求是:把所有的属性私有化,对每个属性提供getter和setter方法,如果有一个带参的构造函数的话,那一定要写一个不带参的构造函数.在开发的时候经常要对已经编写的类进行测试,所以在有的时候还有重写toString方法,但这不是必须的. 继承: 1.目的:实…
11."=="和 equals 方法究竟有什么区别? (单独把一个东西说清楚,然后再说清楚另一个,这样,它们的区别自然就出来了,混在一起说,则很难说清楚) ==操作符专门用来比较两个变量的值是否相等,也就是用于比较变量所对应的内存中所存储的数值是否相同,要比较两个基本类型的数据或两个引用变量是否相等,只能用==操作符. 如果一个变量指向的数据是对象类型的,那么,这时候涉及了两块内存,对象本身占用一块 内存(堆内存),变量也占用一块内存,例如 Objet obj = newObject(…
比较喜欢用demo来讲解. 变量: public static void main(String[] args) { int age;//变量声明 age = 16;//变量的初始化,第一次赋值 age = 15;//变量的赋值 System.out.println(age);//15, 访问变量 int score = 100;//变量声明初始化 System.out.println(score); } 这是关于变量的有些知识点,变量也就那些东西注意.就是声明,赋值. 二进制基础: publi…
1.继承概述 继承是Java面向对象的三大特征之一,是比较重要的一部分,与后面的多态有着直接的关系.继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为. ①.Java继承的特点: Java只支持单继承,不支持多继承(如A继承B,A继承C),但支持多层继承(如A继承B,B继承C). 子类拥有父类非private的属性,方法.(其实子类继承父类后,仍然认为获取了父类的private结构,只是因为封装的影响,使得子类不能直接调…
面向对象程序设计(Java基础) 1.项目介绍: 该项目能够实现对电话薄的添加,查找,修改,删除,排序等基本操作. 用户进入系统中首先进入主菜单中,在主菜单中可以选择相应的操作,用户可以选择每项操作前的序号即可进入到相应操作的子菜单,在子菜单中也可以选择相应的操作. 2.项目设计规划 该项目的实现主要依靠五个类来实现: 1.App对应Application(程序入口方法)主类,创建Menu类的对象,并调用Menu类的方法: 2.Menu对应Menu(菜单类):定义多个方法,显示各种操作对应的菜单…
目录 抽象类介绍 为什么要用抽象类 一个抽象类小故事 一个抽象类小游戏 接口介绍 接口与类相似点: 接口与类的区别: 接口特性 抽象类和接口的区别 接口的使用: 接口最佳实践:设计模式中的工厂模式 接口与抽象类的本质区别是什么? 基本语法区别 设计思想区别 如何回答面试题:接口和抽象类的区别? 参考文章 微信公众号 Java技术江湖 个人公众号:黄小斜 本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 https://github.com/h2pl…
业内经常说的一句话是不要重复造轮子,但是有时候,只有自己造一个轮子了,才会深刻明白什么样的轮子适合山路,什么样的轮子适合平地! 我将会持续更新java基础知识,欢迎关注. 往期章节: JAVA基础第一章-初识java JAVA基础第二章-java三大特性:封装.继承.多态 类与对象 什么是类? 类是抽象的概念集合,表示的是一个共性的产物,类之中定义的是属性和行为(方法). 什么是对象? 对象是一种个性的表示,表示一个独立的个体,每个对象拥有自己独立的属性,依靠属性来区分不同对象. 所以总结来说的…
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 在实施接口中,我们利用interface语法,将interface从类定义中独立出来,构成一个主体.interface为类提供了接口规范. 在继承中,我们为了提高程序的可复用性,引入的继承机制.当时的继承是基于类的.interface接口同样可以继承,以拓展原interface. 接口继承 接口继承(inheritance)与类继承很类似,就是以被继承的interface为基础,…
继承与抽象类解决工人与学生的问题 抽象类实例 package com.swift; public abstract class Person { private String name; private int age; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public…
所有的文档和源代码都开源在GitHub: https://github.com/kun213/DailyCode上了.希望我们可以一起加油,一起学习,一起交流. day01面向对象[继承.抽象类] 今日学习内容-2020.9.16 @ 目录 day01面向对象[继承.抽象类] 今日学习内容-2020.9.16 类与对象 1.什么是类 2.什么是对象 继承 1.说出继承的概念 2.写出继承的格式 3.区分this和super的作用 抽象类 1.写出抽象方法的格式 2.写出抽象类的格式 3.注意事项…
继承可以解决代码复用,让编程更加靠近人的思维.当多个类存在相同的属性(变量)和方法时,可以从这些类中抽象出父类,在父类中定义这些相同的属性和方法.所有的子类不需要重新定义这些属性和方法,只需要通过extends语句来声明继承父类: class 子类 extends 父类 这样,子类就会自动拥有父类定义的属性和方法. *父类的public修饰符的属性和方法,protected修饰符的属性和方法,默认修饰符的属性和方法被子类继承了,父类的private修饰符的属性和方法不能被子类继承. 注意事项:…
目录 概念常识 Java 语言有哪些特点? JVM.JRE和JDK的关系 什么是字节码? 为什么说 Java 语言是"编译与解释并存"? Oracle JDK 和OpenJDK的区别 Java 和 C++ 的区别? 什么是JIT? Java关键字 final finally finalize区别 聊聊this.super和static关键字 Java 有没有 goto 基础语法 Java 中的基本数据类型有哪些? 包装类型的缓存机制 什么是自动类型转换.强制类型转换? Math.rou…
Java入门基础 1.IDE->Eclipse 新建程序步骤 1.创建一个Java项目 2.创建一个包(package) 也就相当于C#中的命名空间C++中的头文件 3.创建一个类 这样就完成了类的创建 2.和c#的不同之处 1.方法默认都是虚方法 2.默认的访问修饰符是没有的 3.密封不是seal而是final(表示不可修改的) 4.判断是否实现不是is而是instanceof 5.接口中可以有属性 6.抽象类可以用来当作匿名类实现并调用它的方法, 7.可变长度所用指令...…
前言 在上一篇中回顾了java的修饰符和String类,这篇就来回顾下Java的三大特性:封装.继承.多态. 封装 什么是封装 在面向对象程式设计方法中,封装是指一种将抽象性函式接口的实现细节部份包装.隐藏起来的方法. 封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随机访问.要访问该类的代码和数据,必须通过严格的接口控制. 封装最主要的功能在于我们能修改自己的实现代码,而不用修改那些调用我们代码的程序片段.适当的封装可以让程式码更容易理解与维护,也加强了程式码的安全性. 简…
08.01_面向对象(代码块的概述和分类)(了解)(面试的时候会问,开发不用或者很少用) A:代码块概述 在Java中,使用{}括起来的代码被称为代码块. B:代码块分类 根据其位置和声明的不同,可以分为局部代码块,构造代码块,静态代码块,同步代码块(多线程讲解). C:常见代码块的应用 a:局部代码块 在方法中出现:限定变量生命周期,及早释放,提高内存利用率 b:构造代码块 (初始化块) 在类中方法外出现:多个构造方法方法中相同的代码存放到一起,每次调用构造都执行,并且在构造方法前执行 c:静…