随笔分类 - Java基础学习笔记
狂神说笔记
摘要:多态 即同一方法可以根据发送对象的不同而采用多种不同的行为方式。 一个对象的实际类型是确定的,但可以指向对象的引用的类型有很多(父类,有关系的类) 多态存在的条件 多态存在的条件 子类重写父类方法 父类引用指向子类对象 注意:多态是方法的多态,属性没有多态性。 instanceof (类型转换)引用
阅读全文
摘要:方法重写 重写:需要有继承关系,子类重写父类的方法! 方法名必须相同 参数列表必须相同 修饰符:范围可以扩大但不能缩小: public>Protected>Default>private 抛出的异常:范围,可以被缩小,但不能扩大:ClassNotFoundException-->Exception(
阅读全文
摘要:继承 继承的本质是对某一批类的抽象,从而实现对现实世界更好的建模。 extends的意思是“扩展”。子类是父类的扩展。 JAVA中类只有单继承,没有多继承!一个儿子只能有一个爸爸,但是一个爸爸可以有多个儿子 继承是类和类之间的一种关系。除此之外,类和类之间的关系还有依赖、组合、聚合等。 继承关系的俩
阅读全文
摘要:封装 该露的露,该藏的藏 我们程序设计要追求“高内聚,低耦合”。高内聚就是类的内部数据操作细节自己完成,不允许外部干涉;低耦合:仅暴露少量的方法给外部使用。 封装(数据的隐藏) 通常,应禁止直接访问一个对象中数据的实际表示,而应通过操作接口来访问,这称为信息隐藏。 记住这句话就够了:属性私有,get
阅读全文
摘要:创建对象内存分析 package com.oop.demo03; public class Pet { public String name; public int age; //无参构造 public void shout(){ System.out.println("叫了一声"); } } pa
阅读全文
摘要:类与对象的关系 类是一种抽象的数据类型,它是对某一类事物整体描述/定义,但是并不能代表某一个具体的事物. 动物、植物、手机、电脑..... Person类、Pet类、Car类等,这些类都是用来描述/定义某一类具体的事物应该具备的特点和行为 对象是抽象概念的具体实例 张三就是人的一个具体实例,张三家里
阅读全文
摘要:什么是面向对象 面向过程&面向对象 面向过程思想 步骤清晰简单,第一步做什么,第二步做什么..... 面对过程适合处理一些较为简单的问题 面向对象思想 物以类聚,分类的思维模式,思考问题首先会解决问题需要哪些分类,然后对这些分类进行单独思考。最后,才对某个分类下的细节进行面向过程的思索。 面向对象适
阅读全文
摘要:稀疏数组 需求:编写五子棋游戏中,有存盘退出和续上盘的功能。 分析问题:因为该二维数组的很多值默认值0,因此记录了很多没有意义的数据。 解决:稀疏数组 package com.lemon.array; public class ArrayDemo08 { public static void mai
阅读全文
摘要:冒泡排序 冒泡排序无疑是最为出名的排序算法之一,总共有八大排序冒泡排序无疑是最为出名的排序算法之一,总共有八大排序 冒泡的代码还是相当简单的,两层循环,外层冒泡轮数,里层依次比较,江湖中人人尽皆知。 我们看到嵌套循环,应该立马就可以得出这个算法的时间复杂度为O(n2)。 思考:如何优化? packa
阅读全文
摘要:数组的使用 For-Each循环 数组做方法入参 数组作返回值 package com.lemon.array; public class ArrayDemo03 { public static void main(String[] args) { int[] arrays = {1,2,3,4,5
阅读全文
摘要:数组 数组的定义 数组是相同类型数据的有序集合. 数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成。 其中,每一个数据称作一个数组元素,每个数组元素可以通过一个下标来访问它们. 数组声明的创建 首先必须声明数组变量,才能在程序中使用数组。下面是声明数组变量的语法: dataType[
阅读全文
摘要:用scanner和switch编写一个控制台计算器 package com.lemon.method; import java.util.Scanner; public class Demo06 { public static void main(String[] args) { Scanner s
阅读全文
摘要:递归(笔试面试重点) 递归就是:A方法调用A方法!就是自己调用自己 利用递归可以用简单的程序来解决一些复杂的问题。它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。递归的能力在于用有限的
阅读全文
摘要:可变参数(不定项参数) JDK 1.5开始,Java支持传递同类型的可变参数给一个方法。 在方法声明中,在指定参数类型后加一个省略号(.…)。 一个方法中只能指定一个可变参数,它必须是方法的最后一个参数。任何普通的参数必须在它之前的声明。 public static void printMax( d
阅读全文
摘要:方法 何谓方法 System.out.println(),那么它是什么呢? Java方法是语句的集合,它们在一起执行一个功能。 方法是解决一类问题的步骤的有序组合 方法包含于类或对象中 方法在程序中被创建,在其他地方被引用 设计方法的原则:方法的本意是功能块,就是实现某个功能的语句块的集合。我们设计
阅读全文
摘要:break、continue break在任何循环语句的主体部分,均可用break控制循环的流程。break用于强行退出循环,不执行循环中剩余的语句。(break语句也在switch语句中使用) continue语句用在循环语句体中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次
阅读全文
摘要:循环结构 while循环 do...while循环 for循环 在java5中引入了一种主要用于数组的增强型for循环。 while循环 while是最基本的循环,它的结构为: while(布尔表达式){ //循环内容 } 只要布尔表达式为true,循环就会一直执行下去。 我们大多数情况是会让循环停
阅读全文
摘要:switch选择结构 switch多选择结构 多选择结构还有一个实现方式就是switch case语句。 switch case语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。 switch 语句中的变量类型可以是: byte、short、int或者char。 从Java SE7开始
阅读全文
摘要:选择结构 if单选泽结构 if双选择结构 if多选择结构 嵌套的if结构 switch多选择结构 if单选择结构 我们很多时候需要去判断一个东西是否可行,然后我们才去执行,这样一个过程在程序中用if语句来表示 语法: if(布尔表达式){ //如果布尔表达式为true将执行的语句 } package
阅读全文

浙公网安备 33010602011771号