![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
白茶小霸王
这个作者很懒,什么都没留下…
展开
-
接口3
package demo20201018接口2; public class My implements MyInterfaceA,MyInterfaceB { @Override public void methodA() { System.out.println("覆盖重写了A方法"); } @Override public void methodB() { System.out.println("覆盖重写了A方法");原创 2020-10-19 12:20:47 · 137 阅读 · 0 评论 -
接口2
package demo20201018接口1; /* 注意事项:不能通过接口实现类的对象来调用接口当中的静态方法 正确用法:通过接口名称,直接调用其中的静态方法 格式: 接口名称.静态方法名() */ public class demo03 { public static void main(String[] args) { //创建了实现类对象 MyInterfaceStaticImp imp = new MyInterfaceStaticImp();原创 2020-10-19 12:19:52 · 105 阅读 · 0 评论 -
接口1
package demo20201018接口; /* 接口就是多个类的公共规范 接口是一种引用类型,最重要的内容就是其中:抽象方法 如何定义一个接口的格式: public interface 接口名称{ //接口内容 } 备注 Java7 1.常量 2.抽象方法 Java8 3.默认方法 4.静态方法 Java9 5.私有方法 接口的使用步骤 1.接口不能直接使用,必须有一个“实现类”来“实现”该接口 格式 public class 实现类名称 imolements 接口名称{ //。。。。。。原创 2020-10-19 12:18:58 · 229 阅读 · 0 评论 -
抽象3
package demo20201018抽象类1_1; /* 1.抽象类不能创建对象,创建编译无法通过而报错,只能创建其非抽象子类的对象 2.抽象类中,可以有构造方法,施工子类创建对象时,初始化父类成员使用 理解:子类的构造方法中,有默认的super(),需要访问父类构造方法 3.抽象类中,不一定包含抽象方法,但是有抽象方法的类必定是抽象类 4.抽象类的子类,必须重写抽象父类中所有的抽象方法,否则编译无法通过而报错,除非该子类也是抽象类 */ public class demo { public原创 2020-10-19 12:17:01 · 102 阅读 · 0 评论 -
抽象2
package demo20201018抽象类1; public class demoMain { public static void main(String[] args) { Zi z = new Zi(); //z.eat(); } } package demo20201018抽象类1; public abstract class Fu { public Fu(){ System.out.println("抽象父类构造原创 2020-10-19 12:15:18 · 75 阅读 · 0 评论 -
抽象1
package demo20201018抽象类; /* 动物吃啥? 很抽象 抽象方法:就是加上abstract关键字,然后去掉大括号,直接分号结束 抽象类:抽象方法所在的类,必须是抽象类才行 如何使用抽象类和抽象方法 1.不能直接创建new抽象类对象 2.必须用一个子类来继承抽象父类 3.子类必须覆盖重写父类中所有的抽象方法 覆盖重写(实现):子类去掉抽象方法中的abstract关键字,然后补上方法体大括号 4.创建子类对象进行使用 */ public abstract class Animal {原创 2020-10-19 12:14:21 · 81 阅读 · 0 评论 -
this关键字
this package demo20201018this关键字; /* this关键字也有三种用法 1.在本类的成员方法中,访问本类的成员变量 2.在本类的成员方法中,访问本类的另一个成员方法 3.在本类的构造方法中,访问本类中的另一个构造方法 在第三种用法中要注意 this()调用也必须是构造方法的第一个语句,唯一一个 super和this两种构造调用,不能同时使用 */ public class demo { public static void main(String[] args) {原创 2020-10-19 12:12:18 · 49 阅读 · 0 评论 -
多态01
**代码当中体现多态性,其实就是:父类引用指向子类对象 格式: 父类名称 对象名 = new 子类名称() 子类当作父类使用,一只猫当作动物 或者 接口名称 对象名 = new 实现类名称() package demo20201018多态; /* 代码当中体现多态性,其实就是:父类引用指向子类对象 格式: 父类名称 对象名 = new 子类名称() 子类当作父类使用,一只猫当作动物 或者 接口名称 对象名 = new 实现类名称() */ public class Demo01多态 {原创 2020-10-19 11:35:43 · 53 阅读 · 0 评论 -
super关键字
package demo20201017super关键字; public class Fu { int num =10; public void method(){ System.out.println("父类方法"); } } package demo20201017super关键字; /*super关键字的用法三种 1.在子类成员变量中,访问父类成员变量 2.在子类成员变量中,访问父类成员方法 3.在子类构造方法中,访问父类构造方法 * */ publi原创 2020-10-17 12:56:57 · 59 阅读 · 0 评论 -
继承重写
package demo20201017继承重写04; /*重写(override) 在继承关系中,方法名称一样,参数列表也一样 重写(override):方法名称一样,参数列表【也一样】 重载(overload):方法名称一样,参数列表【不一样】 重写注意事项 1.必须方法名称一样,参数列表【也一样】 2.子类方法的返回值必须小于等于父类方法的返回值范围 java.lang.Object类是所有类的公共最高父类 3.子类方法的权限必须【大于等于】父类方法的权限修饰符。 public>protec原创 2020-10-17 12:56:12 · 94 阅读 · 0 评论 -
继承构造方法
package demo20201017继承构造方法; /* 继承关系中,父子类构造方法访问特点 1.子类构造方法中有一个默认隐含的super();调用 2.子类构造可以通过super关键字来调用父类重载构造 3.super的父类重载调用必须是子类构造的第一个语句。不能一个子类构造调用多次super构造 4.总结:子类必须调用父类构造方法,不写则赠送super调用,super只能有一个,还必须是第一个语句的位置。 */ public class demo { public static void原创 2020-10-17 12:53:49 · 276 阅读 · 0 评论 -
继承03
package demo20201017继承03; /* 在父子类的继承关系中,创建子类对象,访问成员方法的规则 创建的对象是谁,就优先用谁,如果没有就向上找 注意事项: 无论是成员方法还是成员变量,如果没有都是向上找父类,绝对不会向下找子类 重写(override) 在继承关系中,方法名称一样,参数列表也一样 重写(override):方法名称一样,参数列表【也一样】 重载(overload):方法名称一样,参数列表【不一样】 */ public class demo {原创 2020-10-17 12:52:46 · 66 阅读 · 0 评论 -
继承02
package demo20201017继承02; /* * 局部变量 直接写变量名 * 本类成员变量 this.成员变量名 * 父类成员变量 super.成员变量名 * */ public class demoExtends { public static void main(String[] args) { Zi zi= new Zi(); zi.method(); } } package demo20201017继承02; p原创 2020-10-17 12:51:53 · 48 阅读 · 0 评论 -
继承01
package demo20201017继承01; /* * 在父子类地继承关系中,如果成员变量重名,则创建子类对象时,访问有两种 * * 直接访问: * 直接通过子类对象访问成员变量:等号左边是谁,就优先用谁,没有就向上找 * 间接访问: * 间接通过成员方法访问成员变量:该方法属于谁(谁定义的),就优先用谁,没有就向上找 * * */ public class demoExtends { public static void main(String[] args) { Fu fu原创 2020-10-17 12:51:06 · 68 阅读 · 0 评论 -
继承00
package demo20201017继承; /* 在继承关系中,子类就是一个父类 也就是说子类可以当作父类 例如父类是一个员工类,子类是讲师,那么“讲师就是一个员工”。关系:is-a * */ public class demo01继承 { public static void main(String[] args) { //创建一个子类对象 Teacher t = new Teacher(); t.method(); } } pa原创 2020-10-17 12:50:18 · 73 阅读 · 0 评论 -
Static关键字
1.Static用来修饰成员变量 package demo20201016Static; public class Student { private int id;//学号 private String name;//姓名 private int age;//年龄 static String room;//所在教室 private static int idCounter = 0;//学号计数器,每当new一个新对象时,计数器++ //无参构造 .原创 2020-10-16 22:41:37 · 94 阅读 · 0 评论 -
Random
package demo20201016Random; import java.util.Random; /* * random类用来生成随机数字 * 使用起来也是如下三个步骤 * 1.导包 * import java.until.Random; * * 2.创建 * Random r = new Random();//小括号当中留空即可 * * 3.使用 * 获取一个随机的int数字(范围是int的所有范围,有正负两种): int num =r.nextInt() * 获取一个随机的int数字(参数代原创 2020-10-16 20:34:40 · 120 阅读 · 0 评论 -
匿名对象
package demo20201017; /* 类名称 对象名 = new 类名称(); 匿名对象就是只有右边对象,没有左边的名字和赋值运算符 new 类名称(); 注意事项: 匿名对象之恶能使用唯一一次,下次再用不得不创建一个新对象 使用建议:如果确定有一个对象只需要使用唯一一次,就可以使用匿名对象 * */ public class demo匿名对象 { public static void main(String[] args) { //左边的one就是对象的名字原创 2020-10-16 19:50:48 · 65 阅读 · 0 评论 -
多态——对象的向下转型
Cat cat = (Cat)animal; 向下转型建立在向上转型上原创 2020-10-05 23:31:13 · 71 阅读 · 0 评论 -
多态——对象的向上转型
package demo1005duotai; public abstract class Animal { public abstract void eat(); } ======================================= package demo1005duotai; public class Cat extends Animal { @Override public void eat() { System.out.println(.原创 2020-10-05 22:55:03 · 68 阅读 · 0 评论 -
使用多态的好处
原创 2020-10-05 21:53:03 · 317 阅读 · 0 评论 -
成员变量和成员方法在多态中的使用规则
** 成员变量 ** package demo01; public class Fu { int num =10; public void showNum() { System.out.println(num); } } package demo01; public class Zi extends Fu { int num = 20; int age=16; @Override public void showNum() {原创 2020-10-05 21:34:22 · 493 阅读 · 0 评论 -
Overwrite
package demo20201001; /*父子类继承,创建子类对象,访问成员方法的规则 创建的对象是谁,就优先用谁,如果没有就向上找。 注意事项:无论是成员变量,如果没有都是向上找父类,绝对不会向下找子类的。 重写(Override) 概念:在继承关系中,方法名称一样,参数列表也一样 重写(Override):方法的名称一样,参数列表【也一样】。<—覆盖、覆写—> 重载(Overload):方法名称一样,参数列表【不一样】。 方法覆盖重写特点:创建的是子类对象,则优先使用子类方法。原创 2020-10-01 15:55:55 · 1268 阅读 · 0 评论 -
JavaBean
package demo20200928; /* 一个标准的类 包含以下四个组成部分 1.所有的成员变量都要使用private关键词修饰 2.为每一个成员变量都编写一对Getter/Setter方法 3.编写一个无参数构造方法 4, 编写一个全参数的构造方法 这个标准的类也叫做Java Bean */ public class Student { private String name;//姓名 private int age;//年龄 //生成set/get方法快捷 //原创 2020-09-28 20:06:36 · 60 阅读 · 0 评论 -
构造方法
package demo02; /* 构造方法是专门用来创建对象的方法,用关键字new来创建对象,其实就是在调用构造方法 格式: public 类名称(参数类型 参数名称){ 方法体 } 注意事项: 1.构造方法的名称必须和所在类名称完全一样,连大小写也要一样 2.构造方法不要写返回值类型,连void也不要写 3.构造方法不能return一个具体的返回值 4.如果没有编写任何构造方法,那么编译器将会默认赠送一个构造方法,没有参数,没有方法体 5.构造方法也可以重载 */ public class Stude原创 2020-09-28 19:45:08 · 64 阅读 · 0 评论 -
Java——关键字this
package demo01; public class Demon01Person { public static void main(String[] args) { Person person = new Person(); //设置我的名字 person.name="王健林"; person.sayHello("王思聪"); } } ====================================== pack原创 2020-09-28 18:33:51 · 82 阅读 · 0 评论 -
Java封装性
1.方法是一种封装 2.关键字 private 也是一种封装 package lei; /*一旦使用了private进行修饰,那么本类仍然可以随意访问。 但是!超出了本类范围就不能直接访问了 间接访问private类成员变量,就是定义一对Getter/Setter方法 setXxx/getXxx get,不能有参数,返回值类型和成员变量对应 set,不能有返回值,参数类型和成员变量对应 */ public class Person { String name; private int age原创 2020-09-28 17:02:55 · 65 阅读 · 0 评论 -
Java局部变量和成员变量
不同点 1.定义位置不一样 局部变量:在方法内部 成员变量:在方法外部,直接写在类当中 2.作用范围不一样 局部变量:只能在方法当中可以使用 成员变量:整个类都可以使用 3.默认值不一样 局部变量:没有默认值,想要使用必须手动赋值 成员变量:没有赋值,会有默认值,规则和数组一样 4.内存位置(了解) 局部:方法内,位于栈内存 成员:new出的在堆内存 5.生命周期 局部:方法进栈而诞生,出栈而消失 成员:随着对象创建而诞生,随着对象被垃圾回收而消失 ...原创 2020-09-28 15:37:04 · 102 阅读 · 0 评论 -
数组元素反转附图
原创 2020-09-21 16:33:52 · 91 阅读 · 0 评论 -
数组反转Java
```package C; import java.util.Arrays; javapublic class methodZishu { public static void main(String[] args) { int arr[] = new int[]{1,2,3,4,5,6}; // System.out.println(arr.length); for (int min = 0,max=arr.length-1; min < max.原创 2020-09-21 16:31:48 · 46 阅读 · 0 评论 -
Java内存区
Java内存划分为5个部分 1.栈(Stack):存放方法中的局部变量。(方法运行一定在栈中运行) 局部变量:方法的参数或者是方法{}内部的变量 作用域:超出作用域,立刻从站内存消失 2.堆(Heap):凡是new出来的东西,都在堆内存中 堆内存里面的东西都有一个地址值(16进制) 堆内存里面的数据都有默认值。 规则 规则 默认值 整数 0 浮点 0.0 字符 ‘\000’ 布尔 false 引用 null 3.方法区(Method Area):存储.class字节码相关原创 2020-09-21 16:29:12 · 56 阅读 · 0 评论 -
Java内存
原创 2020-09-21 14:05:18 · 50 阅读 · 0 评论