- 博客(40)
- 收藏
- 关注
原创 接口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 181
原创 接口2
package demo20201018接口1;/*注意事项:不能通过接口实现类的对象来调用接口当中的静态方法正确用法:通过接口名称,直接调用其中的静态方法格式:接口名称.静态方法名()*/public class demo03 { public static void main(String[] args) { //创建了实现类对象 MyInterfaceStaticImp imp = new MyInterfaceStaticImp();
2020-10-19 12:19:52 112
原创 接口1
package demo20201018接口;/*接口就是多个类的公共规范接口是一种引用类型,最重要的内容就是其中:抽象方法如何定义一个接口的格式:public interface 接口名称{ //接口内容}备注Java71.常量2.抽象方法Java83.默认方法4.静态方法Java95.私有方法接口的使用步骤1.接口不能直接使用,必须有一个“实现类”来“实现”该接口格式public class 实现类名称 imolements 接口名称{//。。。。。。
2020-10-19 12:18:58 263
原创 抽象3
package demo20201018抽象类1_1;/*1.抽象类不能创建对象,创建编译无法通过而报错,只能创建其非抽象子类的对象2.抽象类中,可以有构造方法,施工子类创建对象时,初始化父类成员使用理解:子类的构造方法中,有默认的super(),需要访问父类构造方法3.抽象类中,不一定包含抽象方法,但是有抽象方法的类必定是抽象类4.抽象类的子类,必须重写抽象父类中所有的抽象方法,否则编译无法通过而报错,除非该子类也是抽象类 */public class demo { public
2020-10-19 12:17:01 107
原创 抽象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 97
原创 抽象1
package demo20201018抽象类;/*动物吃啥?很抽象抽象方法:就是加上abstract关键字,然后去掉大括号,直接分号结束抽象类:抽象方法所在的类,必须是抽象类才行如何使用抽象类和抽象方法1.不能直接创建new抽象类对象2.必须用一个子类来继承抽象父类3.子类必须覆盖重写父类中所有的抽象方法覆盖重写(实现):子类去掉抽象方法中的abstract关键字,然后补上方法体大括号4.创建子类对象进行使用*/public abstract class Animal {
2020-10-19 12:14:21 87
原创 this关键字
thispackage demo20201018this关键字;/*this关键字也有三种用法1.在本类的成员方法中,访问本类的成员变量2.在本类的成员方法中,访问本类的另一个成员方法3.在本类的构造方法中,访问本类中的另一个构造方法在第三种用法中要注意this()调用也必须是构造方法的第一个语句,唯一一个super和this两种构造调用,不能同时使用*/public class demo { public static void main(String[] args) {
2020-10-19 12:12:18 90
原创 多态01
**代码当中体现多态性,其实就是:父类引用指向子类对象格式:父类名称 对象名 = new 子类名称()子类当作父类使用,一只猫当作动物或者接口名称 对象名 = new 实现类名称()package demo20201018多态;/* 代码当中体现多态性,其实就是:父类引用指向子类对象 格式: 父类名称 对象名 = new 子类名称() 子类当作父类使用,一只猫当作动物 或者 接口名称 对象名 = new 实现类名称()*/public class Demo01多态 {
2020-10-19 11:35:43 75
原创 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 84
原创 继承重写
package demo20201017继承重写04;/*重写(override)在继承关系中,方法名称一样,参数列表也一样重写(override):方法名称一样,参数列表【也一样】重载(overload):方法名称一样,参数列表【不一样】重写注意事项1.必须方法名称一样,参数列表【也一样】2.子类方法的返回值必须小于等于父类方法的返回值范围java.lang.Object类是所有类的公共最高父类3.子类方法的权限必须【大于等于】父类方法的权限修饰符。public>protec
2020-10-17 12:56:12 118
原创 继承构造方法
package demo20201017继承构造方法;/*继承关系中,父子类构造方法访问特点1.子类构造方法中有一个默认隐含的super();调用2.子类构造可以通过super关键字来调用父类重载构造3.super的父类重载调用必须是子类构造的第一个语句。不能一个子类构造调用多次super构造4.总结:子类必须调用父类构造方法,不写则赠送super调用,super只能有一个,还必须是第一个语句的位置。*/public class demo { public static void
2020-10-17 12:53:49 280
原创 继承03
package demo20201017继承03;/*在父子类的继承关系中,创建子类对象,访问成员方法的规则 创建的对象是谁,就优先用谁,如果没有就向上找 注意事项: 无论是成员方法还是成员变量,如果没有都是向上找父类,绝对不会向下找子类重写(override)在继承关系中,方法名称一样,参数列表也一样重写(override):方法名称一样,参数列表【也一样】重载(overload):方法名称一样,参数列表【不一样】 */public class demo {
2020-10-17 12:52:46 94
原创 继承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 53
原创 继承01
package demo20201017继承01;/** 在父子类地继承关系中,如果成员变量重名,则创建子类对象时,访问有两种** 直接访问:* 直接通过子类对象访问成员变量:等号左边是谁,就优先用谁,没有就向上找* 间接访问:* 间接通过成员方法访问成员变量:该方法属于谁(谁定义的),就优先用谁,没有就向上找** */public class demoExtends { public static void main(String[] args) { Fu fu
2020-10-17 12:51:06 89
原创 继承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 100
原创 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 118
原创 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 150
原创 匿名对象
package demo20201017;/*类名称 对象名 = new 类名称();匿名对象就是只有右边对象,没有左边的名字和赋值运算符new 类名称();注意事项:匿名对象之恶能使用唯一一次,下次再用不得不创建一个新对象使用建议:如果确定有一个对象只需要使用唯一一次,就可以使用匿名对象* */public class demo匿名对象 { public static void main(String[] args) { //左边的one就是对象的名字
2020-10-16 19:50:48 86
原创 C语言多维数组
二维数组例子:3行4列 float a[3][4];即a[0][0] a[0][1] a[0][2] a[0][3]a[1][0] a[1][1] a[0][2] a[1][3]a[2][0] a[2][1] a[2][2] a[2][3]存储
2020-10-15 20:38:51 291
原创 多态——对象的向上转型
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 76
原创 成员变量和成员方法在多态中的使用规则
**成员变量**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 529
原创 Overwrite
package demo20201001;/*父子类继承,创建子类对象,访问成员方法的规则创建的对象是谁,就优先用谁,如果没有就向上找。注意事项:无论是成员变量,如果没有都是向上找父类,绝对不会向下找子类的。重写(Override)概念:在继承关系中,方法名称一样,参数列表也一样重写(Override):方法的名称一样,参数列表【也一样】。<—覆盖、覆写—>重载(Overload):方法名称一样,参数列表【不一样】。方法覆盖重写特点:创建的是子类对象,则优先使用子类方法。
2020-10-01 15:55:55 1293
原创 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 67
原创 构造方法
package demo02;/*构造方法是专门用来创建对象的方法,用关键字new来创建对象,其实就是在调用构造方法格式:public 类名称(参数类型 参数名称){方法体}注意事项:1.构造方法的名称必须和所在类名称完全一样,连大小写也要一样2.构造方法不要写返回值类型,连void也不要写3.构造方法不能return一个具体的返回值4.如果没有编写任何构造方法,那么编译器将会默认赠送一个构造方法,没有参数,没有方法体5.构造方法也可以重载*/public class Stude
2020-09-28 19:45:08 71
原创 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 109
原创 Java封装性
1.方法是一种封装2.关键字 private 也是一种封装package lei;/*一旦使用了private进行修饰,那么本类仍然可以随意访问。但是!超出了本类范围就不能直接访问了间接访问private类成员变量,就是定义一对Getter/Setter方法setXxx/getXxxget,不能有参数,返回值类型和成员变量对应set,不能有返回值,参数类型和成员变量对应*/public class Person { String name; private int age
2020-09-28 17:02:55 73
原创 Java局部变量和成员变量
不同点1.定义位置不一样局部变量:在方法内部成员变量:在方法外部,直接写在类当中2.作用范围不一样局部变量:只能在方法当中可以使用成员变量:整个类都可以使用3.默认值不一样局部变量:没有默认值,想要使用必须手动赋值成员变量:没有赋值,会有默认值,规则和数组一样4.内存位置(了解)局部:方法内,位于栈内存成员:new出的在堆内存5.生命周期局部:方法进栈而诞生,出栈而消失成员:随着对象创建而诞生,随着对象被垃圾回收而消失...
2020-09-28 15:37:04 113
原创 数组反转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 53
原创 Java内存区
Java内存划分为5个部分1.栈(Stack):存放方法中的局部变量。(方法运行一定在栈中运行)局部变量:方法的参数或者是方法{}内部的变量作用域:超出作用域,立刻从站内存消失2.堆(Heap):凡是new出来的东西,都在堆内存中堆内存里面的东西都有一个地址值(16进制)堆内存里面的数据都有默认值。规则规则默认值整数0浮点0.0字符‘\000’布尔false引用null3.方法区(Method Area):存储.class字节码相关
2020-09-21 16:29:12 60
原创 windows 10 Java环境配置——JDK1.8
windows 10 Java环境配置这里是JDK1.8的安装包链接:https://pan.baidu.com/s/1n-5dPLa5xin1ci81xjo1LQ提取码:di0p第一步:解压安装包第二步:更改安装路径,点击下一步第三步:设置安装路径,提前新建jdk和jre文件夹配置环境变量...
2020-09-14 17:36:51 214
原创 C数据类型强转
强制类型转换是把变量从一种类型转换为另一种数据类型。表达式:(类型说明)表达式例如int a;int b;(float) a; //这里将a从整型转换成了浮点型(float)(a+b);(float)a+b; //和上面的不一样不管是强制转换或者是自动转换都是临时转换,为了去进行运算,所以类型是不变的。自增自减void main(){int a=21; int c; c=a++;// 自我理解第一步c=a=21,直接将a的值赋给c,a再进行自加运算.a=a+1-=a=22
2020-05-28 14:25:50 371
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人