2022年/一月18号善于复盘回顾内容一(java的面向对象编程中的类对象属性 方法)Java面向对象的核心继承 封装 多态。(二)

简介: 2022年/一月18号善于复盘回顾内容一(java的面向对象编程中的类对象属性 方法)Java面向对象的核心继承 封装 多态。
package String;
/**
 * 
 * @author Administrator
 *
 */
public class Demo7 {
  /**
   * @param args
   */
  public static void main(String[] args) {
    // TODO Auto-generated method stub
    String s = "";
    StringBuilder  sb = new StringBuilder(s);
    //获取当前这一时刻
    long time1 = System.currentTimeMillis();
    System.out.println(time1);
    for(int i=0;i<100000;++i){
      sb.append("a");
    }
    long time2 = System.currentTimeMillis();
    System.out.println(time2-time1);
    s = sb.toString();
  }
}
package String;
/*
 * 定义一个方法,把 int 数组中的数据按照指定的格式拼接成一个字符串返回,调用该方法, 并在控制台输出结果。
 * 例如,数组为 int[] arr = {1,2,3}; ,执行方法后的输出结果为:[1, 2, 3]
 */
public class Demo8 {
  /**
   * @param args
   */
  public static void main(String[] args) {
    // TODO Auto-generated method stub
    int[] arr={145,2,3,34,89};
    //"[1,2,3]"
    //调用方法,返回拼接好的字符串
    String str = arrayToString(arr);
    System.out.println(str);
  }
  /**
   * 将一个数组转换为一个指令格式的字符串
   */
  public static String arrayToString(int[] arr){
    //在方法中遍历数组,按照要求进行拼接
//    String s = "";
    StringBuilder s = new StringBuilder("");
//    s += "[";
    s.append("[");
    //遍历数组
    for(int i=0;i<arr.length;++i){
      s.append(arr[i]);
      if(i==arr.length-1){
        continue;
      }
      s.append(",");
    }
    s.append("]");
    return s.toString();
  }
}
package String;
import java.util.Scanner;
/**
 * 定义一个方法,实现字符串反转。键盘录入一个字符串,调用该方法后,在控制台输出结果 
 * 例如,键盘录入 abc,输出结果 cba
 * 键盘录入 我爱你,输出结果 你爱我
 * @author Administrator
 *
 */
public class Demo9 {
  /**
   * @param args
   */
  public static void main(String[] args) {
    // TODO Auto-generated method stub
    Scanner scanner = new Scanner(System.in);
    System.out.println("请输入一个字符串");
    String str = scanner.next();
    String s = reverse(str);
    System.out.println(s);
  }
  /**
   * 定义一个方法实现字符串的反转
   */
  public static String reverse(String str){
//    //定义一个字符串去作为返回的内容
//    String s = "";
//    //倒叙遍历str字符串中的字符
//    for(int i=str.length()-1;i>=0;--i){
//      s = s+str.charAt(i);
//    }
    return new StringBuilder(str).reverse().toString();
  }
}
package String;
public class Snippet {
  public static void main(String[] args) {
      /*
       * int length()返回字符串的长度
       */
      String str1 = "我爱青年";
      int l = str1.length();
      System.out.println("字符串的长度为:"+l);
      /*
       * char charAt(int index)返回字符串指定索引的字符
       * 注意:字符串中的第一个字符的索引为0
       */
      String str2 = "abcde";
      char index = str2.charAt(4);
      System.out.println(index);
      /*
       * String charAt(String str)将指定的字符串连接到该字符串的末尾
       */
      String str3 = "加油!";
      String str4 = str3.concat("奥利给");
      System.out.println(str4);
      /*
       * boolean endsWith(String str)测试此字符串是否以指定的后缀结尾。
       */
      String str5 = "hello.java";
      boolean boo1 = str5.endsWith(".java");
      System.out.println(boo1);
      /*
       * int indexOf(String str)返回指定子字符串第一次出现的字符串内的索引
       */
      String str6 = "abcdefehcd";
      int index1 = str6.indexOf("cd");
      System.out.println(index1);
      /*
       * int lastIndexOf(String str)返回指定子字符串最后一次出现的字符串内的索引
       */
      String str7 = "abcdefehcd";
      int index2 = str7.lastIndexOf("cd");
      System.out.println(index2);
      /*
       * String replace(char oldChar,char newChar)用新的字符将字符串的某些旧字符替换掉
       */
      String str8 ="XXX,我真的想骂你";
      String str9 = str8.replace('X', '*');
      System.out.println(str9);
      /*
       * String toLowerCase();将字符串中的所有大写字母转换为对应小写字母
       */
      String str10 = "ABC你好y";
      String str11 = str10.toLowerCase();
      System.out.println(str11);
      /*
       * String toUpperCase();将字符串中的所有小写字母转换为对应大写字母
       */
      String str12 = "ABC你好y";
      String str13 = str12.toUpperCase();
      System.out.println(str13);
      /*
       * String trim();去除字符串中首尾的空格
       */
      String str14  = " 1 23 ";
      String str15 = str14.trim();
      System.out.println(str15);
    }
}

Arraylist的集合


package arraylist;
import java.util.ArrayList;
import java.util.Iterator;
public class ArrayListDemo1 {
/**
 * 了解第一个集合ArrayList
 * @param args
 */
  public static void main(String[] args) {
    // 1.创建一个集合
    ArrayList list  = new ArrayList();
    //2.给集合添加元素
    //创建学生对象
    Student stu0 = new Student("我是要删的数据",18);
    Student stu1 = new Student("狐疑",18);
    Student stu2 = new Student("糊涂",19);
    Student stu3 = new Student("呼啸",20);
    Student stu4 = new Student("环宇",21);
    list.add(stu0);
    list.add(stu1);
    list.add(stu2);
    list.add(stu3);
    list.add(stu4);
    list.hashCode();
    //3.删除集合中的指定元素 boolean remove(int index)
    list.remove(0);
    //4.获取集合中指定索引的元素 Object get(int index)
    System.out.println(list.get(0));
    //5.修改集合中指定元素的值 
    //public E  set(int index,E element)修改指定索引处的元素,返回被修改的元素
    list.set(2, new Student("maomao",21));
    //返回集合中元素的个数 int size()
    int count = list.size();
    System.out.println("集合中的元素个数为:"+count);
    System.out.println("何为编程?");
    //遍历元素
    System.out.println("遍历元素第一种方式·");
    for (int i = 0; i < args.length; i++) {
      String string = args[i];
      System.out.println(i);
    }
    System.out.println(list);
    System.out.println("遍历第二种方式");
    for (Iterator iterator = list.iterator(); iterator.hasNext();) {
      Object object = (Object) iterator.next();
      System.out.println(list);
      System.out.println(list.size());
    }
    System.out.println("第三种方式");
    for (Object object : list) {
      System.out.println(list);
    }
    }
  }
package arraylist;
/**
 *创建一个存储字符串的集合,存储3个字符串元素,使用程序实现在控制台遍历集合的所有元素
 *1.创建一个集合
 *2.往集合中添加3个字符串
 *3.遍历集合:首先要能获取到集合中的每一个元素,这个通过get(int index)方法去实现
 *4.遍历集合:其次要能够获取到集合中的长度,这个通过size()方法去实现
 *
 * @author Administrator
 *
 */
import java.util.ArrayList;
import java.util.Iterator;
public class ArrayListDemo2 {
  /**
   * @param args
   */
  public static void main(String[] args) {
    //1.创建一个集合
    ArrayList list = new ArrayList();
    //2.往集合中添加3个字符串
    list.add("诸葛亮");
    list.add("刘备");
    list.add("张飞");
    list.add("李四");
    list.add("我是list集合");
    //3-4遍历集合
    for(int i=0;i<list.size();++i){
      System.out.println(list.get(i));
    }
    System.out.println("方式一");
    for (int i = 0; i < list.size();i++) ;
      System.out.println(list);
      System.out.println("方式二");
      for (Iterator iterator = list.iterator(); iterator.hasNext();) {
        Object object = (Object) iterator.next();
        System.out.println(list);
      }
    }
  }
package arraylist;
public class Student {
  private String name;
  private int age;
  public Student(String name, int age) {
    super();
    this.name = name;
    this.age = age;
  }
  public Student() {
    super();
    // TODO Auto-generated constructor stub
  }
  public String getName() {
    return name;
  }
  public void setName(String name) {
    this.name = name;
  }
  public int getAge() {
    return age;
  }
  public void setAge(int age) {
    this.age = age;
  }
  @Override
  public String toString() {
    // TODO Auto-generated method stub
    return "Student[age="+age+",name="+name+"]";
  }
  @Override
  public int hashCode() {
    // TODO Auto-generated method stub
    return super.hashCode();
  }
}

案例接口。


package interfacea;
/*
 * 接口的定义与使用
 * 接口 定义 抽象
 */
public interface USBA {
public void turnOn(); //设备启动'
  public void turnruning();  //设备运行
  public void turnOff();  //设备关闭
  public void name(); //设备名称
  public void color(); //设备颜色
  public void height();//设备高度
  public void weight();//设备宽度
  public void length(); //设备长度
  public void m();//设备的M方法
}
package interfacea;
public class aer  implements USBA{
  @Override
  public void turnOn() {
    // TODO Auto-generated method stub
    System.out.println("are已启动,请开始以下程序");
  }
  @Override
  public void turnruning() {
    // TODO Auto-generated method stub
    System.out.println("are开始运行自己设定的程序");
  }
  @Override
  public void turnOff() {
    // TODO Auto-generated method stub
    System.out.println("手机结束自己运行的程序系统");
  }
  @Override
  public void name() {
    // TODO Auto-generated method stub
    System.out.println("are名称为huaweiwww");
  }
  @Override
  public void color() {
    // TODO Auto-generated method stub
    System.out.println("are色彩为back");
  }
  @Override
  public void height() {
    // TODO Auto-generated method stub
    System.out.println("are高度为8cm");
  }
  @Override
  public void weight() {
    // TODO Auto-generated method stub
    System.out.println("are宽度为15cm");
  }
  @Override
  public void length() {
    // TODO Auto-generated method stub
    System.out.println("are长度为20cm");
  }
  @Override
  public void m() {
    // TODO Auto-generated method stub
    System.out.println("m有飒飒");
  }
}
package interfacea;
public class ElectronicWhiteboard  implements USBA{
  @Override
  public void turnOn() {
    // TODO Auto-generated method stub
    System.out.println("电子白板真在运行,打开你要的软件,并开始运行");
  }
  @Override
  public void turnruning() {
    // TODO Auto-generated method stub
    System.out.println("电子白板真在运行,正在运行这个程序,并开始运行");
  }
  @Override
  public void turnOff() {
    // TODO Auto-generated method stub
    System.out.println("电子白板结束自己运行的程序系统");
  }
  @Override
  public void name() {
    // TODO Auto-generated method stub
    System.out.println("电子白板名称为huaweiwww");
  }
  @Override
  public void color() {
    // TODO Auto-generated method stub
    System.out.println("电子白板色彩为back");
  }
  @Override
  public void height() {
    // TODO Auto-generated method stub
    System.out.println("电子白板高度为150cm");
  }
  @Override
  public void weight() {
    // TODO Auto-generated method stub
    System.out.println("电子白板宽度为200cm");
  }
  @Override
  public void length() {
    // TODO Auto-generated method stub
    System.out.println("电子白板长度为300cm");
  }
  @Override
  public void m() {
    // TODO Auto-generated method stub
    System.out.println("m有飒飒");
  }
}
package interfacea;
public class Mousea  implements USBA {
  @Override
  public void turnOn() {
    // TODO Auto-generated method stub
    System.out.println("鼠标已启动,请开始以下程序");
  }
  @Override
  public void turnruning() {
    // TODO Auto-generated method stub
    System.out.println("鼠标开始运行自己设定的程序");
  }
  @Override
  public void turnOff() {
    // TODO Auto-generated method stub
    System.out.println("鼠标结束自己运行的程序系统");
  }
  @Override
  public void name() {
    // TODO Auto-generated method stub
    System.out.println("鼠标名称为huaweiwwwe");
  }
  @Override
  public void color() {
    // TODO Auto-generated method stub
    System.out.println("鼠标色彩为back");
  }
  @Override
  public void height() {
    // TODO Auto-generated method stub
    System.out.println("鼠标高度为50mm");
  }
  @Override
  public void weight() {
    // TODO Auto-generated method stub
    System.out.println("鼠标宽度为500mm");
  }
  @Override
  public void length() {
    // TODO Auto-generated method stub
    System.out.println("鼠标长度为900mm");
  }
  @Override
  public void m() {
    // TODO Auto-generated method stub
    System.out.println("m有飒飒");
  }
}
package interfacea;
public class Phonea  implements USBA{
  @Override
  public void turnOn() {
    // TODO Auto-generated method stub
    System.out.println("手机已启动,请开始以下程序");
  }
  @Override
  public void turnruning() {
    // TODO Auto-generated method stub
    System.out.println("手机开始运行自己设定的程序");
  }
  @Override
  public void turnOff() {
    // TODO Auto-generated method stub
    System.out.println("手机结束自己运行的程序系统");
  }
  @Override
  public void name() {
    // TODO Auto-generated method stub
    System.out.println("手机名称为huaweiwww");
  }
  @Override
  public void color() {
    // TODO Auto-generated method stub
    System.out.println("手机色彩为back");
  }
  @Override
  public void height() {
    // TODO Auto-generated method stub
    System.out.println("手机高度为8cm");
  }
  @Override
  public void weight() {
    // TODO Auto-generated method stub
    System.out.println("手机宽度为15cm");
  }
  @Override
  public void length() {
    // TODO Auto-generated method stub
    System.out.println("手机长度为20cm");
  }
  @Override
  public void m() {
    // TODO Auto-generated method stub
    System.out.println("m有飒飒");
package interfacea;
public class telephone implements USBA {
  @Override
  public void turnOn() {
    // 
    System.out.println("电话已启动,请打电话");
  }
  @Override
  public void turnruning() {
    // TODO Auto-generated method stub
    System.out.println("电话开始进行联系对方");
  }
  @Override
  public void turnOff() {
    // TODO Auto-generated method stub
    System.out.println("电话结束:请把电源turnoff");
  }
  @Override
  public void name() {
    // TODO Auto-generated method stub
    System.out.println("电话名称为大哥大");
  }
  @Override
  public void color() {
    // TODO Auto-generated method stub
    System.out.println("电话色彩为开门红");
  }
  @Override
  public void height() {
    // TODO Auto-generated method stub
    System.out.println("电话高度为6cm");
  }
  @Override
  public void weight() {
    // TODO Auto-generated method stub
    System.out.println("电话宽度为12cm");
  }
  @Override
  public void length() {
    // TODO Auto-generated method stub
    System.out.println("电话长度为18cm");
  }
  @Override
  public void m() {
    // TODO Auto-generated method stub
    System.out.println("MMMMMMMMMMMMMM");
  }
}
package interfacea;
import java.util.ArrayList;
public class DwmoTesta  {
  public static void main(String[] args) {
    ArrayList <USBA>usbs =new <USBA> ArrayList ();
    usbs.add(  new Mousea());    //类
      usbs.add(new Keyboarda());
      usbs.add(new Phonea());
      usbs.add(new ElectronicWhiteboard ());
      usbs.add(new telephone ());
      usbs.add(new aer());
      usbs.add(new HuBING());
        System.out.println("用for循化输出内容");
    for (int i = 0; i < usbs.size(); i++) {
      usbs.get(i).height();
    }
    System.out.println("height");
    for (int i = 0; i < usbs.size(); i++) {
      usbs.get(i).weight();
  }
    System.out.println("weight");
    for (int i = 0; i < usbs.size(); i++) {
      usbs.get(i).length();
    }
    System.out.println("设定设备的长:宽:高"); 
    for (int i = 0; i < usbs.size(); i++) {
      usbs.get(i).turnOn();   //接口方法
    }
    System.out.println("设定程序启动的系统");
    System.out.println("============================");
    for (int i = 0; i < usbs.size(); i++) {
      usbs.get(i).turnOff();
    }
    System.out.println("设置程序正在运行的程序");
    System.out.println("============================");
    for (int i = 0; i < usbs.size(); i++) {
      usbs.get(i).turnruning();
    }
    System.out.println("设置程序名称");
    System.out.println("**********************");
    for (int i = 0; i < usbs.size(); i++) {
      usbs.get(i).name();
    }
    System.out.println("设置设备色彩为");
    System.out.println("**********************");
    for (int i = 0; i < usbs.size(); i++) {
      usbs.get(i).color();
    }
    for (int i = 0; i < usbs.size(); i++) {
      usbs.get(i).m();
    } 
  }
}
相关文章
|
6天前
|
安全 Java 开发者
【JAVA】封装多线程原理
Java 中的多线程封装旨在简化使用、提高安全性和增强可维护性。通过抽象和隐藏底层细节,提供简洁接口。常见封装方式包括基于 Runnable 和 Callable 接口的任务封装,以及线程池的封装。Runnable 适用于无返回值任务,Callable 支持有返回值任务。线程池(如 ExecutorService)则用于管理和复用线程,减少性能开销。示例代码展示了如何实现这些封装,使多线程编程更加高效和安全。
|
6天前
|
安全 网络协议 Java
Java网络编程封装
Java网络编程封装原理旨在隐藏底层通信细节,提供简洁、安全的高层接口。通过简化开发、提高安全性和增强可维护性,封装使开发者能更高效地进行网络应用开发。常见的封装层次包括套接字层(如Socket和ServerSocket类),以及更高层次的HTTP请求封装(如RestTemplate)。示例代码展示了如何使用RestTemplate简化HTTP请求的发送与处理,确保代码清晰易维护。
|
28天前
|
Java
Java 面向对象编程的三大法宝:封装、继承与多态
本文介绍了Java面向对象编程中的三大核心概念:封装、继承和多态。
103 15
|
28天前
|
Java 数据安全/隐私保护 开发者
【潜意识Java】深入理解 Java 面向对象编程(OOP)
本文介绍了Java中的面向对象编程(OOP)核心概念,包括封装、继承、多态和抽象。封装通过访问控制保护数据,提高安全性;继承支持代码复用,减少冗余;多态实现灵活的行为调用;抽象则隐藏细节,简化接口设计。掌握这些概念有助于编写高效、灵活且易于维护的代码。文章通过实例详细讲解了每个概念在Java中的应用,并总结了它们的优势。
42 3
|
3月前
|
Java 开发者
Java 面向对象编程
总之,Java 的面向对象编程为开发者提供了一种有效的编程范式,帮助他们构建出高质量、可维护的软件系统。理解和掌握面向对象的概念和原则是成为优秀 Java 开发者的重要基础。
214 63
|
2月前
|
移动开发 前端开发 Java
Java最新图形化界面开发技术——JavaFx教程(含UI控件用法介绍、属性绑定、事件监听、FXML)
JavaFX是Java的下一代图形用户界面工具包。JavaFX是一组图形和媒体API,我们可以用它们来创建和部署富客户端应用程序。 JavaFX允许开发人员快速构建丰富的跨平台应用程序,允许开发人员在单个编程接口中组合图形,动画和UI控件。本文详细介绍了JavaFx的常见用法,相信读完本教程你一定有所收获!
1328 1
Java最新图形化界面开发技术——JavaFx教程(含UI控件用法介绍、属性绑定、事件监听、FXML)
|
2月前
|
JSON 前端开发 JavaScript
Java属性为什么不能是is开头的boolean
在Java实体类中,阿里规约要求boolean属性不应以is开头。文章通过实际案例分析了isUpdate字段在JSON序列化过程中变为update的问题,并提供了自定义get方法或使用@JSONField注解两种解决方案,建议遵循规约避免此类问题。
Java属性为什么不能是is开头的boolean
|
5月前
|
Java 编译器
封装,继承,多态【Java面向对象知识回顾①】
本文回顾了Java面向对象编程的三大特性:封装、继承和多态。封装通过将数据和方法结合在类中并隐藏实现细节来保护对象状态,继承允许新类扩展现有类的功能,而多态则允许对象在不同情况下表现出不同的行为,这些特性共同提高了代码的复用性、扩展性和灵活性。
封装,继承,多态【Java面向对象知识回顾①】
|
4月前
|
Java
让星星⭐月亮告诉你,Java NIO之Buffer详解 属性capacity/position/limit/mark 方法put(X)/get()/flip()/compact()/clear()
这段代码演示了Java NIO中`ByteBuffer`的基本操作,包括分配、写入、翻转、读取、压缩和清空缓冲区。通过示例展示了`position`、`limit`和`mark`属性的变化过程,帮助理解缓冲区的工作原理。
63 2
|
4月前
|
Java
java继承和多态详解
java继承和多态详解
67 5