![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
斯特兰奇
这个作者很懒,什么都没留下…
展开
-
java基础:面向对象编程(中)4-多态性课后练习
package com.atguigu.exer;public class GeometricObject { protected String color; protected double weight; protected GeometricObject(String color, double weight) { this.color = color; this.weight = weight; } /* * 求图像面积 * 思考:该方法有定义的必要吗? ...原创 2021-11-09 12:12:08 · 111 阅读 · 0 评论 -
java基础:面向对象编程(中)5-equals方法.
equals方法: 一 Object中的equals方法: public boolean equals(Object obj) { return (this == obj); } 二 像String,Date等核心类库基本上都重写了equals方法,用来比较内容。 三 自定义类如果没重写equals方法那么调用的是Object中的equals方法用...原创 2021-11-09 12:12:27 · 159 阅读 · 1 评论 -
java基础:面向对象编程(中)3-多态性
一、原理讲解1.多态性的理解:一类事物的多种形态 2.广义上多态性的体现:①方法的重写,方法的重载 ②子类对象的多态性 3.狭义上多态性的体现:子类对象的多态性4.何为子类对象多态性:父类的引用指向子类的对象5.多态性的说明: 思考:属性有没有多态性?没有 思考:如果需要调用子类中的特有(父类没有的)的属性和方法怎么办?用(强转的类型)向下转型6.多态性使用的前提:①要有继承关系 ②要有方法的重写 ③父类的引用指向子类的对象7.关于向...原创 2021-11-09 12:12:00 · 128 阅读 · 0 评论 -
Java基础二.基础语法(上)-变量(variable)
变量(variable)声明和初始化变量本质上就是代表一个”可操作的存储空间”,空间位置是确定的,但是里面放置什么值不确定。我们可通过变量名来访问“对应的存储空间”,从而操纵这个“存储空间”存储的值。Java是一种强类型语言,每个变量都必须声明其数据类型。变量的数据类型决定了变量占据存储空间的大小。 比如,int a=3; 表示a变量的空间大小为4个字节。变量作为程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。变量在使用前必须对其声明, 只有...原创 2021-11-09 12:09:29 · 327 阅读 · 0 评论 -
java基础:面向对象编程(中)1-super关键字调用属性和方法
一 super可以调用(父类的):属性,方法,构造器二 super调用属性和方法: 在子类的构造器和方法中可以使用"super."调用父类中的属性和方法,我们可以省略"super."。 如果子类和父类中的属性名相同或者子类重写了父类中的方法, 那么必须使用"super."来区分调用的是子类的还是父类的。 “this.”先从子类中查找,如果有就调用子类中的方法和属性,如果没有才调用父类中的,"super."直接只查找父类中的,如果没有就报错三 super调用构造器:格式...原创 2021-11-09 12:09:41 · 1092 阅读 · 0 评论 -
java基础:面向对象编程20-UML类图
原创 2021-11-08 01:22:48 · 297 阅读 · 0 评论 -
java基础:面向对象编程(中)2-继承的实验题:可透支账户
类的继承,super1、写一个名为Account的类模拟账户。该类的属性和方法如下图所示。该类包括的属性:账号id,余额balance,年利率annualInterestRate;包含的方法:访问器方法(getter和setter方法),返回月利率的方法getMonthlyInterest(),取款方法withdraw(),存款方法deposit()。 Account private int id private double balance priv...原创 2021-11-09 12:10:24 · 724 阅读 · 0 评论 -
java基础:面向对象编程(上)28-实验2-银行储蓄客户
1.按照如下的UML类图,创建相应的类,提供必要的结构在提款方法withdraw()中,需要判断用户余额是否能够满足提款数额的要求,如果不能,应给出提示。deposit()方法表示存款。2. 按照如下的UML类图,创建相应的类,提供必要的结构3. 按照如下的UML类图,创建相应的类,提供必要的结构addCustomer 方法必须依照参数(姓,名)构造一个新的 Customer对象,然后把它放到 customer 数组中。还必须把 numberOfCustomer 属性的值加 1。原创 2021-11-08 01:24:19 · 1134 阅读 · 0 评论 -
java基础:面向对象编程(上)27-实验1-存取钱
1、写一个名为Account的类模拟账户。该类的属性和方法如下图所示。该类包括的属性:账号id,余额balance,年利率annualInterestRate;包含的方法:访问器方法(getter和setter方法),取款方法withdraw(),存款方法deposit()。 Account private int id private double balance private double annualInterestRate publ原创 2021-11-08 01:24:12 · 224 阅读 · 0 评论 -
java基础:面向对象编程(上)26-知识结构回顾
原创 2021-11-08 01:24:04 · 72 阅读 · 0 评论 -
java基础:面向对象编程25-MVC设计模式
原创 2021-11-08 01:23:55 · 139 阅读 · 0 评论 -
java基础:面向对象编程24-package、import关键字
一、 package关键字java为了实现对类的统一管理和划分就有了包的概念。说明:1、包名:全部小写2、如何命名:机构类型(com/org/edu+机构名称+项目名称+模块名)3、每“.”一次就是一层目录4、同一个包中的类名不能相同,不同包里边的类名可以相同。5、package+包名;“package com.atguigu.java;”必须声明在源文件的首行代码6、在源文件代码首行加上package+包名后,当我们进行编译时,生成的字节码文件就会放到对应的包中。...原创 2021-11-08 01:23:34 · 149 阅读 · 0 评论 -
java基础:面向对象编程15-权限修饰符
原创 2021-11-07 11:43:33 · 60 阅读 · 0 评论 -
java基础:面向对象编程23-this课后练习boy&girl
package com.atguigu.exer4;public class Girl { private String name; private int age; /* * +marry(boy:Boy) +compare(girl:Girl) */ public void marry(Boy boy){ if(boy.getAge()<18){ System.out.println(this.name+":"+boy...原创 2021-11-08 01:23:25 · 336 阅读 · 0 评论 -
java基础:面向对象编程22-通过调用本类中的其它构造器给属性赋值
package com.atguigu.java4;class Person{ String name; int age; int sex; String address; public Person(String name) { this.name = name; } public Person(String name, int age) { this.name = name; this.age = age; } public Person(String na.原创 2021-11-08 01:23:09 · 128 阅读 · 0 评论 -
java基础:面向对象编程19-JavaBean
package com.atguigu.java;/** * 快捷键:alt+shift+s 快速生成生成get/set、toString和构造 * * JavaBean:就是一个普通类,JavaBean是一种Java语言写成的可重用组件。 特点: * 1、类是公共的 * 2、有一个无参的公共的构造器 * 3、有属性,且有对应的get,set方法。 * 作用:JavaBean的对象是用来存储数据的。 */public class JavaBean { p.原创 2021-11-08 01:22:27 · 100 阅读 · 0 评论 -
java基础:面向对象编程18-属性赋值的方式总结
package com.atguigu.java;/** * 属性赋值的方式和优先级 方式:1、默认值 2、显示赋 3、构造器赋值 4、对象名.属性名/对象名.方法名 优先级:4>3>2>1 */class Number{ //int value //默认值 int value =10; //显示赋值 public Number(){ //value =100; } public void setValue(){ value =1000;.原创 2021-11-07 11:44:02 · 336 阅读 · 0 评论 -
java基础:面向对象编程17-构造器
package com.atguigu.java;/** 构造器Constructor又叫构造方法 1.作用: 1)创建对象 2)对对象进行初始化:通过构造器给属性赋值更方便,但是缺点是一个对象的构造器只能调用一次 2.格式如下: 权限修饰符 类名(形参列表){ 执行语句 } 3.说明: 1)如果在类中没有显示的提供构造器,那么在系统会默认提供一个空参的构造器, 创建对象的时候就是调用的.原创 2021-11-07 11:43:50 · 290 阅读 · 0 评论 -
java基础:面向对象编程16-封装性
package com.atguigu.java;/* * 面向对象的特性之:封装性 * 一、为什么要使用封装性 * 但我们创建对象以后,可以通过对象名.属性名对的方式对属性进行赋值,这种方式默认只能对内容的类型和范围(数据类型本身的取数范围)进行约束 但是在实际开发中,往往我们还会有更的限制条件,但是这些限制条件无法在属性中声明,所有采用如下方式: 1.使用private修饰属性,这样就不能通过对象名.属性名对的方式对属性进行赋值了 2.提供公共 publi.原创 2021-11-07 11:43:42 · 253 阅读 · 0 评论 -
java基础:面向对象编程14-将对象作为参数传递给方法
(1)定义一个Circle类,包含一个double型的radius属性代表圆的半径,一个findArea()方法返回圆的面积。(2)定义一个类PassObject,在类中定义一个方法printAreas(),该方法的定义如下:public void printAreas(Circle c, int time)在printAreas方法中打印输出1到time之间的每个整数半径值,以及对应的面积。例如,times为5,则输出半径1,2,3,4,5,以及对应的圆面积。(3)在main方法中调用prin原创 2021-11-07 11:43:09 · 670 阅读 · 0 评论 -
java基础:面向对象编程13-对象的关联
参考文档:对象的关联内存解析.xlsxpackage com.atguigu.java2;/* * 对象的关联 */class Teacher{ String name; Dog dog;}class Dog{ String name;}public class ObjectConnectTest { public static void main(String[] args) { //创建一个老师的对象 Teacher teacher = new Teach..原创 2021-11-07 11:43:17 · 93 阅读 · 0 评论 -
java基础:面向对象编程12-对象数组
package com.atguigu.java3;import org.omg.CORBA.COMM_FAILURE;/* * 对象数组:数组中存储的是对象 */class Computer { String type;}public class ObjectArrayTest { public static void main(String[] args) { ObjectArrayTest ot = new ObjectArrayTest();// ot.demo1.原创 2021-11-07 11:42:58 · 152 阅读 · 0 评论 -
java基础:面向对象编程11-值传递
参考:值传递的内存解析.xlsx1.调用方法传递的是基本数据类型package com.atguigu.java2;/* * 形参:方法声明时的参数。 * 实参:方法调用时实际传给 形参的参数值。 * * 值传递:调用方法时传递数据的方式 * 1.调用方法时如果传递的是基本数据类型,那么传过去的是具体对的值 * 2.如果传递的是引用数据类型那么传递的是该对象的地址值 */public class ValueTransferTest { public static voi.原创 2021-11-07 11:42:46 · 76 阅读 · 0 评论 -
java基础:面向对象编程10-可变形参
package com.atguigu.java2;/* 可变形参 格式:变量的类型...变量名 说明:可变形参的个数可以是任意个 可变形参的底层是一个数组 可变形参在形参列表中时必须放在最末尾 一个形参列表中只能有一个可变形参。 */public class VriableArgs { public static void main(String[] args) { .原创 2021-11-07 11:41:44 · 83 阅读 · 0 评论 -
java基础:面向对象编程9-方法的重构
package com.atguigu.java2;/* * 方法的重载:在同一个类中的相同方法名不同的形参列表构成方法的重载 * 形参列表不同指的是类型、个数、顺序有一项不同,不考虑权限修饰符、形参变量名和返回值类型 */public class OverLoadTest { public static void main(String[] args) { //思考:如何确定调用的是哪一个方法? 方法名+形参列表(实参的类型) OverLoadTest ot = new OverLoa.原创 2021-11-07 11:41:22 · 287 阅读 · 0 评论 -
java基础:面向对象编程8-练习3:计算圆的面积
package com.atguigu.exer;/* * 利用面向对象的编程方法,设计类Circle计算圆的面积 */class Circle{ int radius; //半径 /* * 1.要不要返回值 * 2.要不要形参 */ public void findArea(int c){ //不合理的方法 System.out.println(Math.PI*c*c); } public void findArea2(){ System.out.p.原创 2021-11-06 10:33:25 · 420 阅读 · 0 评论 -
java基础:面向对象编程7-练习2:编写一个方法(method)
package com.atguigu.exer;class Person{ String name; int age; int sex; public void study() { System.out.println("studying"); } public void showAge(){ System.out.println("age="+age); } public int addAge(int i){ // return age + ...原创 2021-11-06 10:33:37 · 150 阅读 · 0 评论 -
java基础:面向对象编程6-练习1:编写一个类
package com.atguigu.java;class Teacher{ /* * 属性: name:String age:int teachAge:int course:String */ public String name; public int age; public int teachAge; public String course; public void say(){ System.out.println(name+"-"+age+.原创 2021-11-06 10:33:57 · 140 阅读 · 0 评论 -
java基础:面向对象编程5-匿名对象
package com.atguigu.java;/** * 匿名对象:没有名字的对象 * 特点:1.只能调用一次的 * 作用:往往作为实参进行传递 */class Person{ String name; int age; public void info(){ System.out.println("name="+name+" age="+age); }}public class PersonTest { public static void main(Strin.原创 2021-11-06 10:33:47 · 88 阅读 · 0 评论 -
java基础:面向对象编程4-return关键字
package com.atguigu.java;/* * 关键字:return * 在有返回值的方法中,return起结束方法和返回值的作用 * 在没有返回值的方法中,return只起结束方法的作用,return后边不能跟数据 * */public class ReturnTest { public static void main(String[] args) { ReturnTest rt = new ReturnTest(); int numbe.原创 2021-11-06 10:46:30 · 158 阅读 · 0 评论 -
java基础:面向对象编程3-方法
package com.atguigu.java;/* * 类的成员:方法 * 一、格式: * 权限修饰符 返回值类型 方法名(形参列表){ * 方法体; * } * 二、说明: * 1.权限修饰符:private、、public、缺省、protected * 2.返回值类型:void(没有返回值)/有具体的返回值类型(基本数据类型/引用数据类型) * 如果方法是有返回值的,在方法体中必须用return关键字返回数据。 * 3.方法名:只需.原创 2021-11-06 10:46:58 · 50 阅读 · 0 评论 -
java基础:面向对象编程2-属性和局部变量
package com.atguigu.java;/** 变量的分类: 按照数据类型:基本数据类型vs引用数据类型 按照位置分:局部变量 vs成员变量(属性) 局部变量和成员变量共同点: 1.先声明后使用 2.声明的格式相同 3.都有作用域 局部变量和成员变量(属性)不同点: 1.位置:成员变量(属性)在类中,且在方法、构造器等结构外。 局部变量在方法、构造器、代码块、方法等中 2.默认值: 属性:默认值数.原创 2021-11-06 10:47:04 · 56 阅读 · 0 评论 -
java基础:面向对象编程1-初步认识
package com.atguigu.java;/** 一、学习面向对象内容的三条主线 1.Java类及类的成员:属性、方法、构造器、代码块,内部类 2.面向对象的三大特征:封装性,继承性,多态性 3.其它关键字:this,super,static,final。。。。。。 二、面向对象vs面向过程 面向过程:强调功能行为,以函数为最小单位 面向对象:将功能封装进对象,强调具备了功能的对象,以类/对象为最小单位,考虑谁来做。 三、类和对象 类是对一类事物的描述,是抽象的.原创 2021-11-06 10:46:37 · 94 阅读 · 0 评论 -
java基础:数组中常见的异常
package com.atguigu.java;//1.下标越界ArrayIndexOutOfBoundsException//2.空指针异常NullPointerException,只要调用属性或者方法的那个值为null就会发生该错误public class ArrayExceptionTest { public static void main(String[] args) { //1.下标越界ArrayIndexOutOfBoundsException int[] numbers =.原创 2021-11-06 10:47:11 · 104 阅读 · 0 评论 -
java基础:Arrays工具类的使用
package com.atguigu.java;import java.sql.Array;import java.util.Arrays;public class ArraysTest { public static void main(String[] args) { int[] n = {1,2,3,43,5}; int[] n2 = {1,2,5,4,3}; //boolean equals(int[] a,int[] b) 判断两个数组是否相等,内容,顺序都要.原创 2021-11-06 10:46:51 · 69 阅读 · 0 评论 -
java基础:二维数组之杨辉三角
package com.atguigu.java;public class YanHuiTest { public static void main(String[] args) { int [][] numbers = new int[10][]; for (int i = 0; i < numbers.length; i++) { //numbers[i]:二维数组的索引位置 //new int[i+1] 创建一维数组,长度为i+1 number...原创 2021-11-05 18:47:07 · 114 阅读 · 0 评论 -
java基础:二维数组的初始化和元素遍历
package com.atguigu.java;public class MDArray { public static void main(String[] args) { //1.二维数组的声明 String[][] ps; String ps2 [][]; String[] ps3 []; //二维数组的初始化 //静态初始化: ps = new String[][]{{"敖媛媛","1532133322"},{"小志林","1552233223"},{.原创 2021-11-05 17:55:04 · 100 阅读 · 0 评论 -
eclipse中的常用快捷键
1.ctrl+alt+down :复制本行到下一行2.tab:缩进3.shift+tab:反缩进4. Ctrl + shift + f:格式化代码5.Ctrl +1:返回所引用的方法所指定的变量6.ctrl+z/y:撤销与反撤销7.shift+回车 :直接向下另起一行,而不需要把光标移动到行尾再回车8.ctrl+shift+回车:直接向上另起一行快捷键的自定义设置:搜索到需要设置快捷键...原创 2021-11-05 17:53:23 · 204 阅读 · 0 评论 -
java基础:冒泡排序
package com.atguigu.java2;import java.util.Arrays;/*** 冒泡排序* @author Administrator**/public class BubbleSort { public static void main(String[] args) { int[] numbers ={10,20,6,5,3}; //控制几轮(0,1,2,3,4) for (int i = ...原创 2021-11-05 16:32:44 · 56 阅读 · 0 评论 -
java基础:线性查找
package com.atguigu.java2;/* * 线性查找、二分法查找 */public class ArrayAriTest4 { public static void main(String[] args) { int[] numbers = {10,20,6,5,3}; //线性查找 int findNumber = 20; //需要找的值 int index =-1; //用来记录查找到的数值的索引位置 for (int i = 0; i < nu.原创 2021-11-05 15:55:04 · 321 阅读 · 0 评论