Java
Destiny_lt
天助自助者
展开
-
Java数组练习(一)打印输出指定数组所有元素
定义一个功能:打印输出指定数组的所有元素,实现数组的遍历。public class Test { public static void main(String[] args) { int[] arr = {1,2,3,4,5,6,7,8,9}; printArray(arr); } //定义一个printArray()方法用来实现此功能 public sta原创 2017-04-13 18:04:40 · 7596 阅读 · 0 评论 -
Java面向对象笔记(四)匿名对象
一、使用方式①当对对象的方法只调用一次时,可以使用匿名对象来完成,这样比较简化。②如果对一个对象进行多个成员调用,必须给这个对象起个名字二、匿名对象可以作为实际参数进行传递//设计一个汽车类,属性有颜色(color)和轮胎数(number),行为有跑(run)class Car{ //描述属性颜色color String color = "红色"; //描原创 2017-04-14 12:26:45 · 291 阅读 · 0 评论 -
Java面向对象笔记(五)构造函数
一、构造函数有什么作用①可以用于给对象进行初始化②对象一建立就会调用与之对应的构造函数二、构造函数的特征①函数与类名相同②不用定义返回值类型③不可以写return语句例:class Person{ //这就是无参数的构造函数 Person(){ System.out.println("这是无参数的构造函数"); }}原创 2017-04-14 12:27:45 · 216 阅读 · 0 评论 -
Java面向对象笔记(六)static关键字
一、有什么作用static表示静态的,存在于静态域中,用于修饰成员变量和成员函数,当成员变量被static修饰后,可以用类名调用(类名.静态成员)。二、特点①随着类的加载而加载,随着类的消失而消失(生命周期最长)②被所有对象所共享③优先于对象存在④可以直接被类名所调用三、和实例变量(成员变量)的区别①存在位置:类变量随着类的加原创 2017-04-14 12:29:29 · 259 阅读 · 0 评论 -
Java面向对象笔记(七)实例化对象时代码执行顺序
Car c = new Car(“red”,4);①因为new用到了Car.class文件,所以会先找到Car.class文件并加载到内存中。②执行该类中的static代码块给类初始化,如果有的话。③在堆内存中开辟空间,分配内存地址。④在堆内存中建立对象的特有属性,并进行默认初始化。⑤对属性进行显式初始化。⑥对对象进行构造代码块初始化,初始化所有对象原创 2017-04-14 12:30:59 · 374 阅读 · 0 评论 -
Java面向对象笔记(八)继承
一、作用①提高的代码的复用性②让类与类之间产生了关系,有了这个关系才有的多态的特性注意:不要为了获取其他类的功能简化代码而去继承,必须类与类之间有所属关系才可以继承。二、特点java语言中只支持单继承,不支持多继承(接口除外)。不支持多继承的原因:因为多继承容易带来安全隐患,当多个父类中定义了相同的功能,当功能不同时,子类不确定要运行哪一个,所以不支原创 2017-04-14 12:32:31 · 267 阅读 · 0 评论 -
Java面向对象笔记(九)多态
一、什么是多态多态就是指一个事物具备了多种表现形态二、多态的体现①父类的引用指向了自己的子类对象②父类的引用也可以接受自己的子类对象二、多态的前提①必须是类与类之间有关系,要么被继承,要么被实现②通常存在覆盖(重写)三、多态的好处大大的提高了程序的扩展性例://定义一个Animal类描述动物的共性class原创 2017-04-14 12:33:33 · 286 阅读 · 0 评论 -
Java面向对象笔记(十)函数重载
(1) 方法重载是让类以统一的方式处理不同类型数据的一种手段。多个同名函数同时存在,具有不同的参数个数/类型。(2) java的方法重载,就是在类中可以创建多个方法,它们具有相同的名字,但具有不同的参数和不同的定义。调用方法时通过传递给它们的不同参数个数和参数类型来决定具体使用哪个方法, 这就是多态性。(3) 重载的时候,方法名要一样,但是参数类型和个数不一样,返回值类型可原创 2017-04-14 12:35:52 · 369 阅读 · 0 评论 -
Java面向对象笔记(十一)重写、覆盖
一、概念当子类出现和父类一模一样的函数时,当子类对象调用该函数时会执行子类的函数,这叫做重写(覆盖)。二、应用当子类具备和父类相同的功能,而功能的内容不同时,这时没必要定义新的功能了,可以直接重写(覆盖)即可。三、注意①子类覆盖父类,必须保证子类权限大于等于父类权限,才可以覆盖。②静态只能覆盖静态。③重载:只看同名函数的参数列表重写:原创 2017-04-14 12:37:04 · 359 阅读 · 0 评论 -
Java面向对象笔记(十二)抽象类
一、为什么要定义抽象类当多个类中出现相同的功能,但是功能主体不同,这时可以向上抽取,只抽取功能的定义而不抽取功能的主体二、抽象类的特点①抽象方法一定在抽象类中。即只要包含抽象方法,就必须把类也定义为抽象的。②抽象方法和抽象类都必须被abstract关键字修饰。③抽象类不可以用new创建对象,因为调用抽象方法没意义。④abstract修饰方法不可以与p原创 2017-04-14 12:38:17 · 352 阅读 · 0 评论 -
Java面向对象笔记(十三)接口
一、什么是接口如果一个抽象类中的所有方法都是抽象的,我们就可以将这个类用另外一种方式来定义,也就是接口定义。从本质上讲,接口是一种特殊的抽象类,这种抽象类中只包含常量和方法的定义,而没有变量和方法的实现。二、接口的特点①接口中常见的定义:常量、抽象方法。②接口中成员都有固定的修饰符常量:public static final方法:public原创 2017-04-14 12:39:58 · 292 阅读 · 0 评论 -
Java面向对象笔记(三)this关键字
一、特点this代表本类对象,代表他所在函数所属对象的引用(哪个对象在调用this所在的函数,this就代表哪个对象)。二、应用当定义类中功能时,该函数内部要用到调用该函数的对象时,这时用this来表示这个对象。但凡本类功能内部使用了本类对象,都用this关键字。①用于区分同名函数(成员变量和局部变量同名时)②用于构造函数间调用(this())原创 2017-04-14 12:25:37 · 220 阅读 · 0 评论 -
Java面向对象笔记(二)封装
一、什么是封装封装就是指隐藏对象的属性和实现的细节,仅对外提供公共访问方式。在java中的表现形式就是在类中用private关键字将属性私有化,将方法进行公有化,通过方法访问属性。二、为什么要封装1、将不需要对外提供的数据隐藏,不对外暴露,提高了数据的安全性。2、提高了代码的复用性三、案例将学生类里的属性私有化,提供seter、gerter方原创 2017-04-14 12:24:30 · 334 阅读 · 0 评论 -
Java数组练习(二) 获取数组中的最大值最小值
思路一:1.获取最值需要进行比较,每一次比较都会有一个较大的值,因为该值的不确定性,通过一个变量进行临时存储。2.让数组中的每一个元素都和这个变量中的值进行比较,如果大于变量中的值,就用该变量记录较大值。3.当所有的元素都比较完成,那么该变量中的存储就是数组中的最大值了。步骤:1.定义变量,初始化为数组中的任意一个元素。2.通过循环语句对数组进行遍历原创 2017-04-13 18:07:05 · 9097 阅读 · 0 评论 -
Java数组练习(三)选择排序
思想:将最小值放入角标为0的元素内,将第二小的值放入角标为1的元素内,一次类推,得到一个从小到大排列的数组。class Test{ public static void main(String[] args) { int[] arr = {6,8,2,5,3,4,9,1}; printArray(arr); selectSort(arr); printArray(arr原创 2017-04-13 18:09:22 · 342 阅读 · 0 评论 -
Java数组练习(四)冒泡排序
思想:相邻两个元素比较,如果符合条件就换位,内循环一次最值出现在最右边,两次第二大小的值出现在倒数第二的位置。class Test{ public static void main(String[] args) { int[] arr = {6,8,2,5,3,4,9,1}; printArray(arr); bubbleSort(arr); printArray(ar原创 2017-04-13 18:10:27 · 486 阅读 · 0 评论 -
Java数组练习(五)用sort()方法排序
java中已经内置写好的sort()排序方法,导入java.util.*包就可以使用它。import java.util.*;class Test{ public static void main(String[] args) { int[] arr = {6,8,2,5,3,4,9,1}; printArray(arr); Arrays.sort(arr); pr原创 2017-04-13 18:11:41 · 502 阅读 · 0 评论 -
Java数组练习(六)打印指定行数的杨辉三角
杨辉三角的排列性质: 1 1 1 1 2 1 1 3 3原创 2017-04-13 18:12:21 · 2234 阅读 · 0 评论 -
Java数组练习(七)求用户输入数组中的奇数个数和偶数个数
需求:求用户输入的整形数组中的奇数个数和偶数个数。import java.util.*;class Demo3{ //定义一个整数定义的数组,求奇数个数和偶数个数。 public static void main(String[] args) { int[] arr= new int[10]; Scanner in = new Scanner(System.in);原创 2017-04-13 18:15:28 · 5345 阅读 · 0 评论 -
Java数组练习(八)将输入的数组逆序输出
需求:将用户输入的数组逆序输出。import java.util.*;class Demo { public static void main(String[] args) { int[] arr = new int[10]; Scanner in = new Scanner(System.in); System.out.print("请输入十个整数,以回车键分隔:")原创 2017-04-13 18:16:57 · 19007 阅读 · 0 评论 -
Java数组练习(九)获取数组中的最大值最小值
需求:将用户输入的数组中的最大值和最小值输出。import java.util.*;class Demo{ public static void main(String[] args) { int max = 0; int min = 0; int[] arr = new int[10]; Scanner in = new Scanner(System.in);原创 2017-04-13 18:18:11 · 461 阅读 · 0 评论 -
Java数组总结之自制简单数组工具类
这是一个可以对int类型数组进行操作的工具类,该类中提供了从键盘接收数组、获取最值、排序、遍历打印数组等功能。加入了javadoc注释,可以用javadoc ArrayTool -author -version命令生成javadoc文档。/**这是一个可以对int类型数组进行操作的工具类,该类中提供了从键盘接收数组、获取最值、排序、遍历打印数组、交换数组元素等功能。@autho原创 2017-04-13 18:19:24 · 292 阅读 · 0 评论 -
Java面向对象笔记(一)面向对象概述
一、面向对象三大特征:封装、继承、多态。二、类和对象的关系:①类:指现实生活中对事物的描述(事物的属性即为类中的变量;事物的行为即为类中的方法)。②对象:就是这类事物实实在在存在的个体(通过new关键字在堆内存中产生的实体)。三、类的语法类修饰符 class 类名{//属性部分(静态的内容)→ 成员变量//行为部分(动态的内容)→ 成员原创 2017-04-14 12:21:07 · 278 阅读 · 0 评论 -
Java面向对象笔记(十四)内部类
一、内部类访问规则①内部类可以直接访问外部类中的成员,包括私有的。之所以可以直接访问外部类中的成员,是因为内部类中持有一个外部类的引用即(外部类名.this)②外部类要访问内部类,必须建立内部类对象二、访问格式①当内部类定义在外部类的成员位置上,而且非私有,可以在外部其他类中直接建立内部类对象格式: 外部类名.内部类名 变量名 = 外部类原创 2017-04-14 12:41:02 · 254 阅读 · 0 评论