Java第二周

张开发
2026/4/20 1:30:24 15 分钟阅读

分享文章

Java第二周
面向对象类与构造方法classPerson{privateString name;// 私有属性保护数据安全publicStringgetName(){returnname;}// 向外提供接口publicvoidsetName(String name){this.namename;}}关键字关键字 同一个类 同一个包 不同包子类 任意地方privatedefault (不写)protectedpublicthissuper枚举publicenumOrderStatus{// 1. 定义常量实例必须写在最前面 PAID(200, 已付款),SHIPPED(300,已发货);// 2. 定义成员变量与构造函数privatefinal int code;privatefinal String desc;privateOrderStatus(int code,String desc){this.codecode;this.descdesc;}// 3. 定义获取数据的方法publicStringgetDesc(){returndesc;}}继承// 父类通用特征classAnimal{protectedString name;publicvoideat(){System.out.println(name 正在进食);}}// 子类特化特征classDogextendsAnimal{publicDog(String name){this.namename;// 继承父类成员变量 }publicvoidbark(){System.out.println(name 汪汪叫);// 子类特有方法 }}多态// 1. 定义父类classAnimal{publicvoidspeak(){System.out.println(动物发出声音);}}// 2. 子类重写方法classDogextendsAnimal{Overridepublicvoidspeak(){System.out.println(小狗汪汪叫);}}classCatextendsAnimal{Overridepublicvoidspeak(){System.out.println(小猫喵喵叫);}}// 3. 测试多态publicclassTest{publicstaticvoidmain(String[]args){Animal myDognewDog();// 向上转型Animal myCatnewCat();myDog.speak();// 输出小狗汪汪叫 myCat.speak(); // 输出小猫喵喵叫}}抽象类和抽象方法// 1. 定义抽象类不能被实例化abstractclassShape{// 抽象方法没有方法体只有声明publicabstract doublegetArea();// 普通方法子类可以直接继承使用publicvoidshow(){System.out.println(这是一个图形);}}// 2. 子类必须实现所有的抽象方法 class CircleextendsShape{privatedouble radius;publicCircle(double radius){this.radiusradius;}OverridepublicdoublegetArea(){returnMath.PI*radius*radius;}}接口// 1. 定义接口interfacePayment{// 接口中的变量默认是 public static finalStringCURRENCYCNY;// 抽象方法默认是 public abstractvoidpay(double amount);}// 2. 类通过 implements 关键字实现接口classAliPayimplementsPayment{Overridepublicvoidpay(double amount){System.out.println(使用支付宝支付了amountCURRENCY);}}classWeChatPayimplementsPayment{Overridepublicvoidpay(double amount){System.out.println(使用微信支付了amountCURRENCY);}}内部类和匿名内部类内部类classOuter{privateString secret外部类私有变量;classInner{voidshow(){// 直接访问外部私有成员System.out.println(访问secret);}}}// 使用必须先 new 外部类再 new 内部类Outer.InnerinnewOuter().newInner();匿名内部类interfaceGreeting{voidsayHello();}publicclassTest{publicstaticvoidmain(String[]args){// 直接在 new 的时候实现接口Greeting gnewGreeting(){OverridepublicvoidsayHello(){System.out.println(你好匿名内部类);}};g.sayHello();}}字符串的常见方法Arraylistimportjava.util.ArrayList;publicclassListDemo{publicstaticvoidmain(String[]args){// 1. 创建集合泛型限定只能存 StringArrayListStringlistnewArrayList();// 2. 增添加元素list.add(Java);list.add(Python);list.add(Go);// 3. 删按索引或对象删除list.remove(2);// 删掉 Go// 4. 改修改指定位置元素list.set(1,DeepSeek);// 5. 查获取元素与长度String firstlist.get(0);int sizelist.size();// 6. 遍历常用增强 for 循环for(String item:list){System.out.println(item);}}}math类system类包装类BigIntegerBigDecimal

更多文章