
JAVA入门教学
LBJ8888888
小白一枚,希望能用人话,读懂代码
展开
-
局部变量和成员变量的区别
1.定义的位置不一样【重点】局部变量:在方法的内部 成员变量:在方法的外部,直接写在类当中2.作用范围不一样【重点】局部变量:只有方法当中才可以使用,出了方法就不能再用了 成员变量:整个类都可以通用3.默认值不一样【重点】局部变量:没有默认值,如果要想使用,必须手动进行赋值 成员变量:如果没有赋值,会有默认值,规则和数组一样4.内存的位置不一样(了解)局部变量:位于栈内存 成员变量:位于堆内存5.生命周期不一样(了解)局部变量:随着方法进栈而诞生,随着方法出栈而消失 成原创 2021-05-06 15:54:43 · 307 阅读 · 0 评论 -
JAVA入门级教学之(简单的程序测试)
请定义一个交通工具(Vehicle)类其中有属性:速度speed体积size方法移动move()设置速度setSpeed(int speed)加速speedUp()减速speedDown()最后在测试类Vehicle中的main() 中实例化一个交通工具对象,并通过方法给它初始化speed,size的值并且打印出来,另外调用加速减速的方法对速度进行改变搭建大体框架:/** * @author LBJ * @version V1.0 * @Pack...原创 2021-01-28 22:50:59 · 647 阅读 · 0 评论 -
JAVA入门级教学之(猜数字测试)
猜测数字比大小的测试:/** * @author LBJ * @version V1.0 * @Package PACKAGE_NAME * @date 2021/1/28 17:38 * @Copyright 公司 */public class Test01{ public static void main(String[] args){ A a=new A(100); B b=new B(a); java.util.Scanne原创 2021-01-28 20:34:01 · 275 阅读 · 0 评论 -
JAVA入门级教学之(IDEA工具的快捷键和简单设置)
1.字体fontfile-->settings-->输入font-->设置字体样式以及字号大小2.快速生成main方法psvm3.快速输出Systm.out.println();sout4.删除一行ctrl+y5.怎么运行代码删右键run或者点击右上角箭头shift+f10(不同电脑可能不一样)6.左侧窗口中的列表怎么展开和关闭左箭头关闭右箭头展开上下箭头移动7.idea中退出任何窗口,都可以用esc按钮8.任何.原创 2020-06-22 17:16:11 · 276 阅读 · 0 评论 -
JAVA入门级教学之(super的内存示意)
Super的原理:代表的是当前对象this的父类型特征如果类加载过程中,这个类有静态代码块,有静态变量,一律都会执行,系统会先分配空间只要方法调用,就一定会进行方法压栈new一个方法,其实是调用其构造方法,构造方法会调用构造方法中的super();所有的构造方法中,如果没有写上super(),系统会默认隐藏式添加this.属性=默认属性值;...原创 2021-01-28 16:53:40 · 440 阅读 · 0 评论 -
JAVA入门级教学之(异常的处理try...catch)
* 处理异常的第二种方式:捕捉 try{}catch(){}** 语法:* try{* 可能出现异常的代码;* }* catch(异常类型1 变量){* 处理异常的代码;* }* catch(异常类型2 变量){* ...原创 2020-03-27 00:15:05 · 225 阅读 · 0 评论 -
JAVA入门级教学之(深入throws的异常抛出机制)
package com.lbj.javase23;import java.io.*;public class ExceptionTest04 { public static void main(String[] args) throws FileNotFoundException{ //使用throws处理异常不是真正处理异常而是推卸责任,谁调用就上抛给谁 //上面的m1方法如...原创 2020-03-23 00:57:48 · 223 阅读 · 0 评论 -
JAVA入门级教学之(异常机制的原理到底是什么)
package com.lbj.javase23;/*** 1.异常是什么?** 第一:异常模拟的是现实世界中"不正常的"事件** 第二:java中采用"类"的形式去模拟异常** 第三:类是可以创建对象的** 例如:NullPointerException e=0x1234;* ...原创 2020-03-19 22:56:57 · 161 阅读 · 0 评论 -
JAVA入门级教学之(文档里的is-a、is-like-a、has-a到底是什么意思)
1.is-a:【什么什么是】描述的是一个继承关系2.is-like-a:【什么什么像】描述的是一个接口关系3.has-a:【什么什么包含】描述的是一个关联关系...原创 2020-03-19 21:44:44 · 416 阅读 · 0 评论 -
JAVA入门级教学之(类之间究竟有哪几种关系呢)
关于计算机的一些专业名词的解释1.泛化关系:什么是泛化关系呢? 简单来说就是一个子类继承父类,这就是一个泛化关系 图例:或者说一个子接口继承父接口,这也是一个泛化关系 图例:2.实现关系:实现关系其实很简单:一个类重写了接口类 【implements实现】 图例:3.关联关系:之前我们学习过黄晓明的示例,要想两个类之间存在关联,并不是要继承另一个类,...原创 2020-03-18 12:27:16 · 463 阅读 · 0 评论 -
JAVA入门级教学之(匿名内部类)
package com.lbj.javase22;/*** 匿名内部类:指的是类没有名字,直接在调用的类体里面重写实现继承过来的方法,达到不知名却知意的功能*** 优点:代码量减少,少定义一个类* 缺点:复用性太低,没有名字可以进行重复使用* @author 14811**/public class Test { //首先定...原创 2020-03-18 00:07:38 · 246 阅读 · 0 评论 -
JAVA入门级教学之(局部内部类)
package com.lbj.javase21;/*** 局部内部类等同于局部变量** 重点:局部内部类在访问局部变量的时候,局部变量必须使用final修饰,据说在JDK8以后就不需要用final修饰了*** @author 14811**/public class OuterClass { //方法 publi...原创 2020-03-17 21:26:50 · 135 阅读 · 0 评论 -
JAVA入门级教学之(成员内部类)
package com.lbj.javase20;/*** 关于成员内部类:* * 1.成员内部类可以等同看做成员变量** 内部类重要的作用:可以直接访问外部类中私有的数据** 2.成员内部类中不能有静态声明和静态变量、静态方法。** 3.成员内部类可以访问外部类的所有数据**** ...原创 2020-03-17 19:31:45 · 142 阅读 · 0 评论 -
JAVA入门级教学之(静态内部类)
package com.lbj.javase19;/*** 关于静态内部类:* * 1.静态内部类可以等同看做静态变量** 内部类重要的作用:可以直接访问外部类中私有的数据** 2.静态内部类可以直接访问外部类的静态数据,无法访问成员**** @author 14811**/public cl...原创 2020-03-17 00:50:03 · 160 阅读 · 0 评论 -
JAVA入门级教学之(Object类中的equals方法)
package com.lbj.javase18;/*** 关于Object中的equals方法:** Object中的equals方法(核心):* public boolean equals(o2){* return(this==obj);//相当于return(o1==o2);中间跟的是双等号==,两边引用地址内存相同则true,不同则false* }...原创 2020-03-16 01:08:37 · 283 阅读 · 0 评论 -
解决为什么JDK要带着JRE一起下载
相信在安装的过程中会遇到这么一个疑问,明明我安装的的是JDK,为什么下载完成后路径里面多了一个jre呢?带着这个疑问,我们探究一下JDK和JRE的区别JDK:它是Java开发运行环境,在程序员的电脑上当然要安装JDKJRE:Java Runtime Environment是Java运行环境,如果不需要开发只需要运行Java程序,那么你可以只安装JRE(例如用户不用开发...原创 2020-03-13 00:44:57 · 832 阅读 · 0 评论 -
JAVA入门级教学之(接口)
package com.lbj.javase17;/*** 接口也是一种引用类型,可以等同看做类** 1.如何定义接口,语法:* [修饰符]interface 接口名{}** 2.接口中只能出现:常量、抽象方法** 3.接口其实是一个特殊的抽象类,特殊在接口是完全抽象的** 4.接口中没有构造方法,无法被实例化** 5.接口和接口...原创 2020-03-05 23:16:39 · 225 阅读 · 0 评论 -
JAVA入门级教学之(abstract抽象类)
package com.lbj.javase16;/**** 1.如何定义抽象类?* class关键字前面加abstract** 2.抽象类无法被实例化** 3.虽然抽象类没有办法实例化,但是抽象类也有构造方法,该构造方法是给子类创建对象用的** 4.抽象类中可以定义抽象方法* 抽象方法的语法:* ...原创 2020-03-04 01:00:18 · 232 阅读 · 0 评论 -
JAVA入门级教学之(super关键字)
* 1.super关键字用在构造方法中:* 语法:super(实参);【通过子类的构造方法去调用父类的构造方法】* this(实参);【通过一个构造方法去调用另一个构造方法,实现代码重用,调用当前对象的构造方法】** 2.语法规则:一个构造方法第一行如果没有this();也没有显示的去调用super();* 系统会默...原创 2020-03-03 22:50:22 · 403 阅读 · 0 评论 -
JAVA入门级教学之(访问修饰符权限控制)
package com.lbj.javase14;/*** 访问控制权限修饰符:** 1.访问控制权限修饰符来控制元素的访问范围** 2.访问控制修饰符包括:* public 表示公开的,在任何位置都可以访问* protected 同包、子类* ...原创 2020-02-28 21:04:53 · 193 阅读 · 0 评论 -
JAVA入门级教学之(package和import)
package com.lbj.javase13;/** * 关于java语言中的包机制: * 1.包又称为package,java中引入package这种语法机制主要是为了方便程序的管理 * 不同功能的类被分门别类放到不同的软件包中,查找比较方便,管理比较方便,易维护 * * 2.怎么定义package? * -在java源程序的第一行写上packag...原创 2020-02-28 20:48:36 · 469 阅读 · 0 评论 -
JAVA入门级教学之(final关键字)
新建一个User类package com.lbj.javase12;public class User { public int id;public User() { super();}public User(int id) { super(); this.id = id;} }新建一个测试类package com.lbj.javase12;...原创 2020-02-27 23:24:00 · 479 阅读 · 0 评论 -
JAVA入门级教学之(多态)
package com.lbj.javase11;public class Animal { public void move(){ System.out.println("动物都可以移动"); } }package com.lbj.javase11;public class Cat extends Animal{ //重写父类中继承过来的方法 publ...原创 2020-02-27 01:44:26 · 537 阅读 · 0 评论 -
JAVA入门级教学之(方法重写/方法重载)
方法重写:package com.lbj.javase10;public class Bird extends Animal { public void move(){ System.out.println("鸟会飞"); }}package com.lbj.javase10;public class Cat extends Animal{ p...原创 2020-02-26 22:21:02 · 271 阅读 · 0 评论 -
JAVA入门级教学之(static静态代码块)
定义一个测试类测试static静态代码块:package com.lbj.javase08;/** * 可以使用static关键字来定义"静态代码块" * * 1.语法格式: * static{ * java语句; * } * * 2.静态代码块在类加载的时候执行,并且只执行一次 * * 3.静态代码块在一个类中可以缩写多个,并且遵循自上而下...原创 2020-02-26 16:21:26 · 202 阅读 · 0 评论 -
JAVA入门级教学之(static关键字)
static关键字:package com.lbj.javase07;/** * "中国人"类 * * 什么时候成员变量声明为实例变量呢? * -所有对象都有这个属性,但是这个属性的值会随着对象的变化而变化【不同对象的这个属性具体的值不同】 * * 什么时候成员变量声明为静态变量呢? * -所有对象都有这个属性,并且所有对象的这个属性的值是一样的,建议定义为静态...原创 2020-02-26 01:33:05 · 134 阅读 · 0 评论 -
JAVA入门级教学之(this关键字)
this关键字* 关于java语言中的this关键字** 1.this是一个关键字,翻译为:这个* 2.this是一个引用,this是一个变量,this变量中保存了内存地址指向了自身,this存储在JVM堆内存java对象内部* 3.创建100个java对象,每一个对象都有this,也就是说有100个不同的this* 4.this可以出...原创 2020-02-24 22:33:01 · 176 阅读 · 0 评论 -
JAVA入门级教学之(参数传递)
定义一个测试类:package com.lbj.javase04;public class Test01 { public static void main(String[] args) { // TODO Auto-generated method stub int i=10; //add方法调用的时候,给add方法传递了一个变量i,到底传递的是什么? //jav...原创 2020-02-24 19:16:05 · 169 阅读 · 0 评论 -
JAVA入门级教学之(对象和引用)
对象和引用:对象:目前在使用new运算符在堆内存中开辟的内存空间称为对象引用:是一个变量,不一定是局部变量,还可能是成员变量。引用保存了内存地址,指向了堆内存中的对象所有访问实例相关的数据,都需要通过"引用"的方式访问,因为只有通过引用才能找到对象。只有一个空的引用,访问对象的实例相关的数据会出现空指针异常报错。class Student{ Comput...原创 2020-02-24 00:48:07 · 139 阅读 · 0 评论 -
JAVA入门级教学之(构造方法)
先定义一个账户类:package com.lbj.javase03;/** * 这是一个账户类 * @author 14811 * */public class Account { //账号 private String actno; //余额 private double balance; //成员变量之实例变量,属于对象级别的变量,这种变量必须先有对象才能...原创 2020-02-23 23:20:32 · 176 阅读 · 0 评论 -
JAVA入门级教学之(什么是类加载)
那类加载呢, 指的是将类的.class文件中的二进制数据读入到内存中,把它放进运行时数据区的方法区内,然后在堆区创建一个java.lang.Class对象,封装这个类在方法区内的数据结构。类的加载的最终产品是位于堆区中的Class对象,Class对象封装了类在方法区内的数据结构,(其实这边跟前边说的差不多,反过来说了)并且向Java程序员提供了访问方...转载 2020-02-23 22:36:36 · 127 阅读 · 0 评论 -
JAVA入门级教学之(封装)
先定义一个用户类package com.lbj.javase;/* * 用户类 * */public class User { //年龄 public int age;}再定义一个测试类,来感受一下什么是封装,到底为什么要封装?package com.lbj.javase;/** * 用户测试类 * @author 14811 * 对于...原创 2020-02-23 17:27:27 · 167 阅读 · 0 评论 -
关于myeclipse输入法编程繁体的修正
在myecipse里中写代码的时候,习惯用 Ctrl+Shift+F去格式化代码。但是这个快捷键被搜狗输入法占用!!!!!所以我们的代码不光不会格式化,还变成了繁体字!!!!所以不要惊讶,为嘛代码敲着...在myecipse里中写代码的时候,习惯用 Ctrl+Shift+F去格式化代码。但是这个快捷键被搜狗输入法占用!!!!!所以我们的代码不光不会格式化,还变成了繁体字!!!!...原创 2020-02-23 14:31:13 · 230 阅读 · 0 评论 -
JAVA入门级教学之(myeclipse的使用)
myeclipse的安装就不说了,百度一下都有很多教程但是发现现在网上很少有介绍这个软件具体如何使用,哪个组件有何用处并没有太多解释因此讲解一下myeclipse的使用:1.工作区【workspace】1.当myeclipse打开后,大多数会提示选择工作区 2.这个工作区可以是已存在的工作区,也可以是新建的工作区 3.选择这个工作区后,...原创 2020-02-23 01:58:43 · 1252 阅读 · 0 评论 -
JAVA入门级教学之(内存地址的引用示例)
/* 定义一个电脑类,电脑有哪些属性: *品牌 *颜色 *型号*/class Computer{ String brand; String color; String style;}/* 定义一个学生类,学生有哪些属性: *学号: *姓名:...原创 2020-02-21 23:20:39 · 227 阅读 · 0 评论 -
JAVA入门级教学之(内存中的空指针异常)
空指针异常示例://定义一个顾客类测试空指针异常public class Customer{ int id;}/* 空指针异常示例*/public class OOTest04{ public static void main(String[] args) { Customer c=new Customer(); System.out.print...原创 2020-02-21 19:01:41 · 199 阅读 · 0 评论 -
JAVA入门级教学之(关于JVM的内存管理机制)
原创 2020-02-21 16:34:04 · 147 阅读 · 0 评论 -
JAVA入门级教学之(内存引用的例子)
/* 内存引用的例子*/public class OOTest03{public static void main(String[] args) { //u是引用 //u是局部变量 User u=new User(); //上一个版本编写 //u.addr=new Address()...原创 2020-02-21 16:12:09 · 139 阅读 · 0 评论 -
JAVA入门级教学之(对象的使用)
//定义一个用户类public class User{ //属性【以下都是成员变量之实例变量】 //用户编号 //int是一种【基本数据】类型:整数型 //no是一个实例变量 int no; //用户名 //String是一种引用数据类型:代表字符串 //name是一个实例变量 //name是一个引用 String name; //家庭住址 //Addres...原创 2020-02-20 23:22:29 · 290 阅读 · 0 评论 -
JAVA入门级教学之(对象的创建和使用)
/* 对象的创建和使用*/public class OOTest01{ public static void main(String[] args) { //通过一个类可是实例化N个对象 //实例化对象的语法:new.类名(); //new是java语言中的一个运算符 //new运算符的作用是创建对象...原创 2020-02-20 21:22:09 · 283 阅读 · 0 评论