Java
xuenixiang
这个作者很懒,什么都没留下…
展开
-
第五十二课.无参有返回值方法
无参有返回值的方法举例例:调用实现5+3的方法,输出结果package com.xuenixiang.Shin;public class WuCanYouFanHuiZhi { public int a() { int i=5,j=3; int count =i+j; r...原创 2019-02-15 16:55:05 · 1164 阅读 · 0 评论 -
第四十二课.嵌套循环
例:用循环结构来绘制一个直角三角形package com.xuenixiang.Shin;public class QianTao { public static void main(String[] args) { //输出一个直角三角形 for(int i=0;i<10;i++) { ...原创 2019-02-13 17:23:00 · 256 阅读 · 0 评论 -
第六十四课.this关键字
this 关键字是 Java 常用的关键字,可用于任何实例方法内指向当前对象,也可指向对其调用当前方法的对象,或者在需要当前类型对象引用时使用。This主要有三种用途1.区分成员变量和局部变量2.代表当前对象3.构造方法与构造方法之间的调用 例:区分成员变量和局部变量 package com.xuenixiang.web;public class Wan...原创 2019-02-24 19:12:41 · 164 阅读 · 0 评论 -
第六十五课.什么是封装
概念:封装(Encapsulation)是面向对象方法的重要原则,就是把对象的属性和操作(或服务)结合为一个独立的整体,并尽可能隐藏对象的内部实现细节。封装是把过程和数据包围起来,对数据的访问只能通过已定义的接口。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。封装是一种信息隐藏技术,在java中通过关键字private...原创 2019-02-24 20:54:27 · 1049 阅读 · 0 评论 -
第六十六课.代码封装的实现-1
封装的步骤:原创 2019-02-24 22:40:31 · 490 阅读 · 0 评论 -
第六十七课.代码封装的实现-2
get和set就是java中的封装技术。首先我们需要知道,一旦一个变量被“private”私有化了,那么在其他类文件就不能引用(使用)它。使用“private”是把被使用的变量保护起来,使别人不知道这个变量的名称是什么,有保护的作用。而set和get就是在和“private”私有化的变量在同一个类文件中,set和get是“public”共有的,也就是说这两个方法是可以被在其他类文件中使用的。s...原创 2019-02-25 00:40:35 · 216 阅读 · 0 评论 -
第六十七课.代码封装的实现-3
根据上节课的讲解,我们这节课先解决一个疑问有人问,如果一个类有几百个属性,是不是要手动写几百个get和set???为了解决这个问题,eclipse提供了一个非常方便的功能这样就可以一键生成getter和setter了,非常方便 下面改进上节课的源码,实现对网站年龄合法性的判断,实现构造函数和封装之间的配合例:package com.xuenixiang.w...原创 2019-02-25 01:16:37 · 175 阅读 · 0 评论 -
第五十九课.创建类
首先新建一个包,包名叫com.xuenixiang.web新建一个类然后我们先完成这个类的信息属性:相当于C++的成员变量方法:相当于C++的成员函数 package com.xuenixiang.web;public class WangZhan { //属性:网站名,网站地址,网站年龄 String name; ...原创 2019-02-19 17:52:17 · 131 阅读 · 0 评论 -
第六十课.实例化对象
接着上节课,我们新建一个类,名字叫WangZhanTest例:利用上节课的类创建一个对象package com.xuenixiang.web;public class WangZhanTest { public static void main(String[] args) { // TODO 自动生成的方法存根 ...原创 2019-02-19 18:20:00 · 306 阅读 · 0 评论 -
第四十一课.for循环
Java的For循环和C语言的for循环基本一致,在循环中使用的最多(方便)例:计算1-100的累加结果package com.xuenixiang.Shin;public class ForXunHuan { public static void main(String[] args) { // 1-100累加和 ...原创 2019-02-13 16:52:21 · 223 阅读 · 0 评论 -
第四十课.do-while循环
do-while结构和c语言的基本一致,都是先执行后判断注意:do之后花括号不能省,while后面条件和分号都不能省例:计算1-100的和package com.xuenixiang.Shin;public class DoWhileXunHuan { public static void main(String[] args) { ...原创 2019-02-13 16:22:55 · 332 阅读 · 0 评论 -
第三十九课.while循环
While循环和C语言的while用法是一样的但是要注意while后面没有分号,不要制造死循环,如果while后面只有一条语句,可以省略花括号{}例:输入一个数,输出从这个数开始到100的所有整数package com.xuenixiang.Shin;import java.util.Scanner;public class Whilexunhuan { ...原创 2019-02-13 16:01:18 · 270 阅读 · 0 评论 -
第五十三课.有参无返回值方法
有参无返回值的方法举例例:计算2个数的和 package com.xuenixiang.Shin; public class YouCanWuFanHuiZhi { public void a(int i,int j) { int count =i+j; System.out.println(co...原创 2019-02-15 17:22:05 · 686 阅读 · 0 评论 -
第五十四课.有参有返回值方法
有参有返回值方法举例例:计算两个数的和package com.xuenixiang.Shin;public class YouCanYouFanHuiZhi { public int jiafa(int i,int j){ int count=i+j; return count; }...原创 2019-02-16 02:48:27 · 1398 阅读 · 0 评论 -
第五十五课.方法重载
方法重载的条件:方法名相同,参数列表不同例:利用重载实现整数和小数加减法package com.xuenixiang.Shin;public class FangFaChongZai { public int jiafa(int i,int j){ int count=i+j; return count;...原创 2019-02-17 01:08:55 · 158 阅读 · 0 评论 -
第五十六课.可变参数列表
public void yunSuan(int...a)表示定义一个可变参数列表的方法在参数列表中使用...可以代表可变参数列表,传参的时候可以传入任意个数的参数例:package com.xuenixiang.Shin;public class KeBianCanShu { public void yunSuan(int...a) { ...原创 2019-02-17 01:33:17 · 172 阅读 · 0 评论 -
第五十七课.可变参数列表方法重载调用优先级
根据实践表明,当可变参数和不可变参数同时存在,类型相同,会优先重载不可变参数的方法package com.xuenixiang.Shin;public class YouXianJi { public void yunSuan(int... a) { System.out.println("可变参数被调用"); }...原创 2019-02-17 22:35:42 · 339 阅读 · 0 评论 -
第五十八课.认识类与对象
类:是抽象的概念集合,表示的是一个共性的产物,类之中定义的是属性和行为(方法);对象:对象是一种个性的表示,表示一个独立的个体,每个对象拥有自己独立的属性,依靠属性来区分不同对象。可以一句话来总结出类和对象的区别:类是对象的模板,对象是类的实例。类只有通过对象才可以使用,而在开发之中应该先产生类,之后再产生对象。类不能直接使用,对象是可以直接使用的。类是一个通用的概念,Java,C++...原创 2019-02-17 23:02:30 · 105 阅读 · 0 评论 -
第六十一课.new关键字
我们在代码里写下关键字new,并在new之后跟上之前定义好的类:MyClass myClass = new MyClass(); 这个关键字new,也在这个时候被虚拟机解析到了,并且在虚拟机识别到new关键字之后就会使用虚拟机提供的new指令去创建所指定的对象。它会大致经历如下过程: 校验。检查这个指令的参数是否能在常量池中定位到一个符号引用,并检查这个符号引用代表的类是否已...转载 2019-02-23 00:02:39 · 136 阅读 · 0 评论 -
第六十二课.无参构造方法
构造方法是一种特殊的方法。它的作用是对构造出来的一个类的实例(对象)进行初始化。 构造方法与所存在的类同名,无返回类型(void也没有)。类中必定有构造方法。如果没有写构造方法,系统自动添加一个无参构造方法。如果是数值类型初始化为0,如果是布尔类型,初始化为false 构造方法在初始化(new)对象时自动执行,一般不能显式地直接调用。接口不允许被实例化,所以接口中没有构造方法。...原创 2019-02-23 00:32:04 · 1206 阅读 · 0 评论 -
第六十三课.有参构造方法
这节课主要涉及到有参构造方法,构造方法的重载,this指针(下节课讲)有参构造方法只是在无参构造方法的基础上加了参数但是参数名如果跟方法属性一样的话,就要使用this指针来区分(不会的话变量名就不要和方法属性一致)例如:package com.xuenixiang.web;public class WangZhan { //属性:网站名,网站地址,网站年龄...原创 2019-02-23 00:59:26 · 294 阅读 · 0 评论 -
第七十二课.static关键字-1
静态:static用法:是一个修饰符,用于修饰成员(成员变量,成员函数), 当成员被静态修饰后,就多了一个调用方式,除了可以被对象调用外,还可以直接被类名调:类名.静态成员 类名.静态成员存在:方法区,共享区,数据区(非堆内存、栈内存的另一个存储区),Static 块仅在该类被加载时执行一次。static特点:1,随着类的加载而加载,也就是说静态会随着类的消失...原创 2019-03-05 20:01:55 · 198 阅读 · 0 评论 -
第七十三课.static关键字-2
用public修饰的static成员变量和成员方法本质是全局变量和全局方法,当声明它类的对象市,不生成static变量的副本,而是类的所有实例共享同一个static变量。static变量前可以有private修饰,表示这个变量可以在类的静态代码块中,或者类的其他静态成员方法中使用(当然也可以在非静态成员方法中使用--废话),但是不能在其他类中通过类名来直接引用,这一点很重要。实际上你需要搞明...原创 2019-03-05 21:32:11 · 115 阅读 · 0 评论 -
第八十九课.Object-2
1.为什么equals()方法要重写?判断两个对象在逻辑上是否相等,如根据类的成员变量来判断两个类的实例是否相等,而继承Object中的equals方法只能判断两个引用变量是否是同一个对象。这样我们往往需要重写equals()方法。我们向一个没有重复对象的集合中添加元素时,集合中存放的往往是对象,我们需要先判断集合中是否存在已知对象,这样就必须重写equals方法。重写equals方...原创 2019-03-17 22:09:01 · 195 阅读 · 0 评论 -
第八十三课.关于方法重写访问修饰符的限制
重写也叫覆写,修饰符、返回类型、参数就是要和父类一摸一样才叫覆写,意思是说各个地方都需要完美的盖住,在面向接口编程中,重写是子类有自己的逻辑要实现,同时又不破坏已写好程序逻辑的好方法。JAVA中四种访问权限 private<default<protected<public,如果子去重写父的方法,方法的权限默认是和父一样的,但也可以改,但只能加大权限,不能缩小权限,比如父是prot...原创 2019-03-13 07:53:47 · 1097 阅读 · 0 评论 -
第八十四课.super关键字-1
在JAVA类中使用super来引用父类的成分,用this来引用当前对象,如果一个类从另外一个类继承,我们new这个子类的实例对象的时候,这个子类对象里面会有一个父类对象。怎么去引用里面的父类对象呢?使用super来引用,this指的是当前对象的引用,super是当前对象里面的父对象的引用。例:调用父类的getAge()package com.xuenixiang.web;p...原创 2019-03-13 09:01:32 · 202 阅读 · 0 评论 -
第八十五课.super关键字-2
1. 父类有无参构造方法,子类才可以写无参构造方法;父类有含参构造方法,子类才可以写含参构造方法2. 构造方法不能被继承、重写3. 当调用无参构造方法时,先调用父类无参构造方法,然后调用子类无参构造方法;当调用含参构造方法时,先调用父类含参构造方法,然后调用子类含参构造方法。注意:子类不显式调用父类的构造方法时,编译器会默认调用父类的无参构造方法非继承关系中的初始化顺序1...原创 2019-03-13 16:15:26 · 158 阅读 · 0 评论 -
第八十六课.super关键字-3
子类访问父类成员访问父类的方法 super.print(); 访问父类属性 super.name; 访问父类构造方法 super();注意:访问父类构造方法时,super()只能在子类的构造方法中,而且必须在子类构造方法有效代码的第一行...原创 2019-03-13 16:19:17 · 140 阅读 · 0 评论 -
第八十七课.super和this的使用总结
上3节课说过super()可以显示调用父类构造方法,这节课的this()是可以显式调用本类的构造方法。super()和this ()不能共存,否则编译时会报异常。Constructor call must be the first statement in a constructor换句话说就是super()和this ()都必须在构造方法的第一行。this(有参数/无参数) 用于调...原创 2019-03-13 16:40:17 · 190 阅读 · 0 评论 -
第九十课.final关键字
final在Java中是一个保留的关键字,可以声明成员变量、方法、类以及本地变量。一旦你将引用声明作final,你将不能改变这个引用了,编译器会检查代码,如果你试图将变量再次初始化的话,编译器会报编译错误。final变量:凡是对成员变量或者本地变量(在方法中的或者代码块中的变量称为本地变量)声明为final的都叫作final变量。final变量经常和static关键字一起使用,作为常量。...原创 2019-09-16 13:54:52 · 181 阅读 · 0 评论 -
第九十一课.关于构造代码块
什么是构造代码块:构造代码块在创建对象时被调用,每次创建对象都会调用一次,但是优先于构造函数执行。需要注意的是,听名字我们就知道,构造代码块不是优先于构造函数执行,而是依托于构造函数,也就是说,如果你不实例化对象,构造代码块是不会执行的。构造代码块的作用:和构造函数的作用类似,都能对对象进行初始化,并且只要创建一个对象,构造代码块都会执行一次。但是反过来,构造函数则不一定每个对象建立时...原创 2019-09-16 13:56:34 · 292 阅读 · 0 评论 -
第九十二课.什么是多态
什么是java的多态:多态分为两种1.编译时多态:方法的重载;2.运行时多态:JAVA运行时系统根据调用该方法的实例的类型来决定选择调用哪个方法则被称为运行时多态。(我们平时说得多的事运行时多态,所以多态主要也是指运行时多态);上述描述认为重载也是多态的一种表现,不过多态主要指运行时多态。运行时多态:1.面向对象的三大特性:封装、继承、多态。从一定角度来看,封装和继承几乎都是为多...原创 2019-09-16 13:59:27 · 442 阅读 · 0 评论 -
第八十八课.Object-1
Object 类位于 java.lang 包中,是所有 Java 类的祖先,Java 中的每个类都由它扩展而来。定义Java类时如果没有显示的指明父类,那么就默认继承了 Object 类。在Java中,只有基本类型不是对象,例如数值、字符和布尔型的值都不是对象,所有的数组类型,不管是对象数组还是基本类型数组都是继承自 Object 类。Object 类定义了一些有用的方法,由于是根类,这些方法在其...原创 2019-03-17 16:57:03 · 235 阅读 · 0 评论 -
第七十九课.复习方法重载
重载(overloading) 是在一个类里面,方法名字相同,而参数不同。返回类型可以相同也可以不同。每个重载的方法(或者构造函数)都必须有一个独一无二的参数类型列表。最常用的地方就是构造器的重载。重载规则:被重载的方法必须改变参数列表(参数个数或类型不一样);被重载的方法可以改变返回类型;被重载的方法可以改变访问修饰符;被重载的方法可以声明新的或更广的检查异常;方法能够在同一个类中或...原创 2019-03-08 08:58:13 · 141 阅读 · 0 评论 -
第七十八课.继承的注意事项
1、对于一个引用类型的变量,java编译器按照它声明的类型来进行编译。比如;parent p=new child();此时p在编译时这p变量被人为只有parent的方法和变量,虽然它引用的是一个子类的对象。2、子类与父类是即是原则,子类即父类。所有能应用父类的地方,都能换成子类,但反过来是不成立的。所以,一个类的实例包括其本身的累的实例,也包括其实子类或间接子类的实例。3、第一条说道是在...原创 2019-03-07 20:21:10 · 165 阅读 · 0 评论 -
第七十四课.static关键字-3
总结实例变量和类变量的区别:1,存放位置。 类变量随着类的加载而存在于方法区中。 实例变量随着对象的建立而存在于堆内存中。2,生命周期: 类变量生命周期最长,随着类的消失而消失。 实例变量生命周期随着对象的消失而消失。静态使用注意事项:1,静态方法在访问本类的成员时,只允许访问静态成员(即静态成员变量和静态方法),而不允许访问实例成员变量和实例方法...原创 2019-03-05 22:24:48 · 275 阅读 · 0 评论 -
第七十五课.什么是继承?
Java继承是面向对象的最显著的一个特征。继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力。Java继承是使用已存在的类的定义作为基础建立新类的技术,新类的定义可以增加新的数据或新的功能,也可以用父类的功能,但不能选择性地继承父类。这种技术使得复用以前的代码非常容易,能够大大缩短开发周期,降低开发费用。比如可以分隔符先定义一个类叫车,车有以下属性:车体大小,...原创 2019-03-06 08:45:46 · 188 阅读 · 0 评论 -
第七十六课.代码继承的实现-1
上节课讲了父类和子类,这节课直接拿代码举例子父类代码:package com.xuenixiang.web;public class JiChengFuLei { private String name; private String address; public String getName() ...原创 2019-03-06 09:29:29 · 157 阅读 · 0 评论 -
第六十九课.创建包
首先说一下Java的包,包可以拿windows的文件夹来比喻,相同的包中,不能有两个一样的类名,就像文件夹里不能有两个相同名字的文件一样(文件类型相同的情况下),不同的包可以有相同的类名(就像不同的文件夹可以有一样名字的文件一样),不同包之间的类文件可以相互移动,如下图:我把FengZhuang.java移动到别的包中,会弹出这个提示这个提示就是告诉你要更改原来文件的引用项,引用项...原创 2019-03-04 19:59:40 · 201 阅读 · 0 评论 -
第七十课.导入包-1
Package是打包的意思,先把当前类打包Import是导入的意思,要想用某个包里的某个类,必须要先导入这个包才能用里面的类,否则使用类就会报错如果要使用的类比较多,可以通过*来导入这个包的所有类如果有两个不同包中的类的名字一样,而且这两个包都被导入了,这时候如果用到类的话eclipse会怎么办呢?eclipse会优先调用有具体指向的包中的类,如下图所示,eclipse调用了导...原创 2019-03-04 20:48:59 · 169 阅读 · 0 评论