随笔分类 - Java学习笔记
摘要:package com.atguigu.java1; /* * static关键字的使用 * * 1.static:静态的 * 2.static可以用来修饰:属性、方法、代码块、内部类 * * 3.使用static修饰属性:静态变量(或类变量) * 3.1 属性,按是否使用static修饰,又分为:静态属性 vs 非静态属性(实例变量) * ...
阅读全文
摘要:1.如何实现向下转型?需要注意什么问题?如何解决此问题? Person p = new Man(); 使用强转符:() Man m = (Man)p; 可能ClassCastException异常。 使用instanceof在进行向下转型前判断。 if(p instanceof Man){ Man m = (Man)p; } 2.== 和 equals()有何区别? == : ...
阅读全文
摘要:package com.atguigu.java; /* * 面向对象特征之三:多态性 * * 1.理解多态性:可以理解为一个事物的多种形态。 * 2.何为多态性: * 对象的多态性:父类的引用指向子类的对象(或子类的对象赋给父类的引用) * * 3. 多态的使用:虚拟方法调用 * 有了对象的多态性以后,我们在编译期,只能调用父类中声明的方法,但在...
阅读全文
摘要:1.什么是多态性?什么是虚拟方法调用? 对象的多态性:父类的引用指向子类的对象。 Person p = new Man(); p.eat(); 调用方法时,编译时看左边,运行时看右边。 2.一个类可以有几个直接父类?(只有一个)一个父类可有多少个子类?(多个)子类能获取直接父类的父类中的结构吗?(可以)子类能否获取父类中private权限的属性或方法?(可以的) A is a B 3.方法的重写...
阅读全文
摘要:package com.atguigu.exer; /* * 定义一个ManKind类,包括 成员变量int sex和int salary; 方法void manOrWoman():根据sex的值显示“man”(sex==1)或者“woman”(sex==0); 方法void employeed():根据salary的值显示“no job”(salary==0)或者“ job”...
阅读全文
摘要:1.为什么要有类的继承性?(继承性的好处) * ① 减少了代码的冗余,提高了代码的复用性 * ② 便于功能的扩展 * ③ 为之后多态性的使用,提供了前提 图示: 2.继承性的格式: class A extends B{} * A:子类、派生类、subclass * B:父类、超类、基类、superclass 3.子类继承父类以后有哪些不同? 3.1体现:一旦子类A...
阅读全文
摘要:package com.atguigu.java; import java.io.InputStream; import java.util.HashMap; import java.util.Scanner; /* * Eclipse中的快捷键: * 1.补全代码的声明:alt + / * 2.快速修复: ctrl + 1 * 3.批量导包:ctrl + shift + o...
阅读全文
摘要:1.构造器的作用是什么?使用中有哪些注意点(>=3条) ①创建对象 ②初始化对象结构 2.关于类的属性的赋值,有几种赋值的方式。谈谈赋值的先后顺序 默认初始化-显式初始化-构造器中初始化-对象.方法 或 对象.属性 给属性赋值 3.this关键字可以用来调用哪些结构,简单说明一下其使用。 this:属性、方法、构造器 this:理解为当前对象,当前正在创建的对象 4. Java中目前学习涉...
阅读全文
摘要:package com.atguigu.java; /* * 面向对象的特征一:封装与隐藏 3W:what? why? how? * 一、问题的引入: * 当我们创建一个类的对象以后,我们可以通过"对象.属性"的方式,对对象的属性进行赋值。这里,赋值操作要受到 * 属性的数据类型和存储范围的制约。除此之外,没有其他制约条件。但是,在实际问题中,我们往往需要给属性赋值 ...
阅读全文
摘要:1. 什么是方法的重载? “两同一不同”:同一个类、相同方法名;参数列表不同。 如何调用确定的方法:方法名参数列表 2. 说明Java方法中的参数传递机制的具体体现? 基本数据类型:数据值 引用数据类型:地址值 (含变量的数据类型) Person p1 = new Person(); eat();age User u1 = p1;//编译错误 (逆向思维、反证法) u1.eat() ...
阅读全文
摘要:package com.atguigu.java; /* * 一、理解“万事万物皆对象” * 1.在Java语言范畴中,我们都将功能、结构等封装到类中,通过类的实例化,来调用具体的功能结构 * >Scanner,String等 * >文件:File * >网络资源:URL * 2.涉及到Java语言与前端Html、后端的数据库交互时,前...
阅读全文
摘要:1.面向对象思想编程内容的三条主线分别是什么 ① 类及类的成员:属性、方法、构造器;代码块、内部类 ② 面向对象的三大特征:封装、继承、多态 ③ 其它关键字:this,super,abstract,interface,static,final,package,import 面向对象的编程思想? (类、对象;面向对象的三大特征;。。。) 2.谈谈你对面向对象中类和对象的理解,并指出二者的关系? ...
阅读全文
摘要:package com.atguigu.java; /* * 一、Java面向对象学习的三条主线:(第4-6章) * 1.Java类及类的成员:属性、方法、构造器;代码块、内部类 * * 2.面向对象的三大特征:封装性、继承性、多态性、(抽象性) * * 3.其它关键字:this、super、static、final、abstract、interface、package、impo...
阅读全文
摘要:1.使用冒泡排序,实现如下的数组从小到大排序。 int[] arr = new int[]{34,5,22,-98,6,-76,0,-3}; for(int i = 0;i arr[j + 1]){ int temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp;...
阅读全文
摘要:public class ArrayExer1 { public static void main(String[] args) { int[][] arr = new int[][]{{3,5,8},{12,9},{7,0,6,4}}; int sum = 0;//记录总和 for(int i = 0;i 1...
阅读全文
摘要:1.写出一维数组初始化的两种方式 int[] arr = new int[5];//动态初始化 String[] arr1 = new String[]{"Tom","Jerry","Jim"};//静态初始化 #红色位置可以省略 数组一旦初始化,其长度就是确定的。arr.length 数组长度一旦确定,就不可修改。 2.写出二维数组初始化的两种方式 int[][] arr = new...
阅读全文
摘要:2nullnull3341 2 3 4 5 9 10 6 7 8
阅读全文
摘要:4. 说明break和continue使用上的相同点和不同点
阅读全文
摘要:/* 题目:输入两个正整数m和n,求其最大公约数和最小公倍数。 比如:12和20的最大公约数是4,最小公倍数是60。 说明:break关键字的使用:一旦在循环中执行到break,就跳出循环 */ import java.util.Scanner; class ForTest{ public static void main(String[] args){ ...
阅读全文
摘要:1.switch后面使用的表达式可以是哪些数据类型的。 byte 、 short 、char 、int 、枚举类型变量、String类型。 2. 使用switch语句改写下列if语句: int a = 3; int x = 100; if(a==1) x+=5; else if(a==2) x+=10; ...
阅读全文

浙公网安备 33010602011771号