![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ĴAVA程序设计
文章平均质量分 75
小白不回家
既然奋斗是生命的常态,那么奋斗当是你我的兴趣。
从基础做起,从现在做起。
展开
-
JAVA程序设计--对象和类(一)
定义:一:对象代表现实世界中可以明确标识的一个实体,类为对象定义属性和行为 每个对象都有自己独特的标识,状态和行为。 其状态(特征)或属性由当前值的“ 数据域 ”表示。 如圆对象具有一个数据域的半径,它是标识圆的属性。也如矩形对象具有数据域宽度和高度,他们也是描述矩形的属性。 其行为(动作)由方法定义。调用对象的一个方法就是要求对象完成一个动作。举例略...原创 2018-05-10 21:32:04 · 728 阅读 · 0 评论 -
JAVA程序设计--对象和类(七)
对象数组复习下对象的创建:对象是通过对象引用变量来访问的。类是一种引用类型,格式如下: Circle myCircle;下面的语句创建一个对象,并且将他的引用赋给变量myCircle:myCircle = new Circle();二者合一,就是包括声明对象引用变量、创建一个对象和将他的引用赋给变量:Circle myCircle = new Circle(); 如上:变量myCircle中...原创 2018-05-14 22:43:48 · 293 阅读 · 0 评论 -
JAVA程序设计--对象和类(八)
不可变对象和类如果一个类是不可变的,那么他的所有数据域必须是私有的,而且没有对任何一个数据域提供公共的set方法。但反过来,却不是一定成立!实例:使用getDateCreated()方法返回数据域dateCreated。它是对Dtae对象的一个引用。通过这个引用,可以改变dateCreated的值。(修改器在Date类里)所以要想一个类成为不可变的,必须要:①所有数据域必须是私有的②没有修改器(s...原创 2018-05-15 13:13:34 · 154 阅读 · 0 评论 -
JAVA程序设计--对象和类(九)
this引用关键字this引用对象自身可以在构造方法内部调用同一个类的其他构造方法;使用this也可以引用隐藏数据域。如:public class Circle{private double radius;public Circle(double radius){//有参构造方法this.radius = radius;//显示使用this来引用被创建对象的数据域radius.}...原创 2018-05-15 14:46:37 · 159 阅读 · 0 评论 -
JAVA程序设计--控制台读取输入
使用Scanner类从控制台输入Java使用System.in表示标准输入设备。可使用Scanner类创建它的对象,以读取来自System.in的输入,如:Scanner input = new Scanner(System.in);对象可以调用它自己的方法,让这个对象完成某个任务。例如:double radius = input.nextDouble(); 从键盘读取一个数值,并将数值赋给了ra...原创 2018-05-21 20:33:49 · 223 阅读 · 0 评论 -
JAVA程序设计--对象和类(十)
总结:前九讲给自己的收获是明白了①类和对象的语义和关联②实例、静态变量或方法的定义和实际用法③get,set方法的源来和用法④传参中,基本类型和引用类型的区别⑤this的用法等⑥对象数组的使用练习:此图三个错误① public class Test②new C (5)③c.getValue()练习:/*习题1:定义矩形类(1)首先定义一个矩形类(Rectangle),类包括width,heigh...原创 2018-05-15 21:45:11 · 562 阅读 · 0 评论 -
JAVA程序设计--抽象类和接口(一)
为什么要使用抽象类?这里引入一个抽象类的规矩,抽象类包含抽象方法,而这些方法则在具体的子类中实现。这样,把一些父类写成抽象类,别人看到你的代码,或你看到别人的代码,你就会注意抽象方法(关键字abstract),而知道这个方法是在子类中实现的,所以,有个提示作用。别人的理解:java中抽象类更利于代码的维护和重用。1.因为抽象类不能实例化对象,所以必须要有子类来实现它之后才能使用。这样就可以把一些具...原创 2018-05-22 10:58:30 · 973 阅读 · 0 评论 -
JAVA程序设计--抽象类和接口(二)
分析:这两段代码可以编译成功,但是运行会错误!因为?Number numberRef = new Integer(0);Double doubleRef = (Double)numberRef;在运行时,JVM尝试将numberRef转换为Double对象,但numberRef是Integer的实例,而不是Double实例。Number[] numberArray = new Integer[2...原创 2018-05-22 17:14:14 · 650 阅读 · 0 评论 -
JAVA程序设计--抽象类和接口(三)
接口接口只包含常量和抽象方法,不能使用new操作符创建接口的实例!!UML图里,接口名字和方法名字使用斜体!虚线和空心三角形指向接口!特性:接口中定义的所有方法都是public。当一个类实现接口时,该方法必须声明为公共的!!Show the error in the following code: interface A { void m1(); } class...原创 2018-05-22 23:10:04 · 636 阅读 · 0 评论 -
JAVA程序设计--对象和类(六)
向方法传递参数给方法传递一个对象,就是将对象的引用传递给方法。传递基本类型参数:java使用“值传递”传递参数的方法。当将一个基本类型的变量传递给一个方法时,该变量在方法完成后保持不变。传递引用类型参数:当将引用类型的变量传递给方法时,对该方法内变量引用的对象的任何更改都是对该方法之外的变量引用的对象的永久性更改。实际参数和形式参数变量都引用同一对象。实例package chapter9;pu...原创 2018-05-14 22:13:58 · 270 阅读 · 0 评论 -
JAVA程序设计--对象和类(五)
数据域封装在上一篇博文中(对象和类(四))中从代码中可以知道,类的数据域radius和numberOfObjects可以直接修改。(静态和实例的改动)非常不好,因为:①数据可能被篡改②使得类变得难以维护,同时容易出现错误(不仅这个类需要修改,而且使用这个类的程序也许要修改)综上,应该使用private修饰符将数据域声明为私有的,称之为数据域封装。get和set方法此举将私有数据域的类外的对象访问数...原创 2018-05-14 21:27:20 · 331 阅读 · 0 评论 -
JAVA程序设计--继承和多态(四)
疏漏:私有方法不能重写,因为他不能在类本身之外访问。易漏:静态方法能继承,但是不能重写,父类的静态方法一旦在子类中被重新定义,那么父类中定义的方法将被隐藏。...原创 2018-05-20 21:59:32 · 267 阅读 · 0 评论 -
JAVA程序设计--对象和类(二)
构造、访问对象:一:使用构造方法构造对象构造方法有三个特性:①构造方法必须具备和所在类相同的名字②构造方法没有返回值类型,甚至连void也没有③构造方法是在创建一个对象使用new操作符时调用的构造方法的作用是初始化对象,它可以重载,更易于用不同的初始数据值来构造对象。...原创 2018-05-10 22:49:27 · 162 阅读 · 0 评论 -
JAVA程序设计--面向对象思考(二)
依照模式匹配、替换和分割正则表达式(缩写 regex)是一个字符串,用于描述匹配一个字符串集的模式。可以通过指定某个模式来匹配、替换或分割一个字符串。匹配:从String类中matches方法开始。替换与分割:①字符串可以转化为字符串数组--toCharArray()方法例如:char[] chars = "Java".toCharArray();char[0]是‘J’,~以此类推②字符串可以转化...原创 2018-05-19 10:42:47 · 186 阅读 · 0 评论 -
JAVA程序设计--对象和类(三)
Math.random()方法和Random类一:Math.random() 方法用于返回一个随机数(double类型),随机数范围为 0.0 =< Math.random < 1.0。语法static double random()这是一个默认方法,不接受任何参数。实例public class Test{ public static void main(String args...原创 2018-05-13 12:09:59 · 151 阅读 · 0 评论 -
JAVA程序设计--面向对象思考(三)
正则表达式实例:原创 2018-05-19 15:17:10 · 150 阅读 · 0 评论 -
JAVA程序设计--继承和多态(一)
继承,顾名思义,即从已经存在的类中定义新的类。因为属性和方法的继承,子类往往比它的父类包含更多的信息和方法。利用父类定义的公共的访问器(get)和修改器(set),可以访问父类的私有数据域。JAVA不允许多重继承,子类只能有一个父类,但类似功能可在接口中实现。设计思考:为什么每个类最好要设计一个无参构造方法?例:public class Apple extends Fruit{}class F...原创 2018-05-19 16:02:43 · 369 阅读 · 0 评论 -
JAVA程序设计--继承和多态(二)
多态多态意味着父类的变量可以指向子类对象。原创 2018-05-19 22:03:56 · 345 阅读 · 0 评论 -
JAVA程序设计--对象和类(四)
静态变量将变量值存储在一个公共的内存地址。它可以被类中的所有对象所共享。因为它是公共的地址,所以如果某一个对象修改了静态变量的值,那么同一个类中的所有对象都会受到影响。(ps:在UML类图中,静态变量和静态方法是以下划线标注的)类中的常量是被该类的所有对象所共享的。因此,常量应该声明为final static,例如Math类中的常量PI如下:final static double PI = 3.1...原创 2018-05-14 16:28:57 · 248 阅读 · 0 评论 -
JAVA程序设计--继承和多态(三)
对象转化和instanceof运算符上一节中可知:对象的引用科类型转化为对另外一种对象的引用,这称为:对象转化~两个问题将隐式和显式转换(casting)①Object o = new Student(); 为什么是合法的?因为Student的实例也是Object的~所以可将new Student()赋值给Object类型的参数。②Student b = o;为什么报错?因为o是哪个类的对象编译器...原创 2018-05-20 21:19:00 · 242 阅读 · 0 评论 -
JAVA程序设计--面向对象思考(一)
将基本数据类型值作为对象处理由于效率问题,Java中的基本数据类型值不作为对象使用,但是可以使用Java API中的包装类来包装成一个对象。(即将基本数据类型并入对象或包装成对象。)包装类中没有无参构造方法。所有包装类的实例都是不可变的。这意味着,一旦创建对象后,他们的内部值就不能再改变。基本类型和包装类类型之间的自动转换基本数据类型值可以使用包装类自动转换成一个对象,反过来的自动转换也可以。将基...原创 2018-05-16 23:33:40 · 362 阅读 · 0 评论