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();
    } 
  }
}
相关文章
|
4天前
|
缓存 安全 Java
《从头开始学java,一天一个知识点》之:输入与输出:Scanner与System类
你是否也经历过这些崩溃瞬间?三天教程连`i++`和`++i`都说不清,面试时`a==b`与`equals()`区别大脑空白,代码总是莫名报NPE。这个系列就是为你打造的Java「速效救心丸」!每天1分钟,地铁通勤、午休间隙即可学习。直击高频考点和实际开发中的“坑位”,拒绝冗长概念,每篇都有可运行代码示例。涵盖输入输出基础、猜数字游戏、企业编码规范、性能优化技巧、隐藏技能等。助你快速掌握Java核心知识,提升编程能力。点赞、收藏、转发,助力更多小伙伴一起成长!
34 19
|
5天前
|
缓存 安全 Java
《从头开始学java,一天一个知识点》之:字符串处理:String类的核心API
🌱 **《字符串处理:String类的核心API》一分钟速通!** 本文快速介绍Java中String类的3个高频API:`substring`、`indexOf`和`split`,并通过代码示例展示其用法。重点提示:`substring`的结束索引不包含该位置,`split`支持正则表达式。进一步探讨了String不可变性的高效设计原理及企业级编码规范,如避免使用`new String()`、拼接时使用`StringBuilder`等。最后通过互动解密游戏帮助读者巩固知识。 (上一篇:《多维数组与常见操作》 | 下一篇预告:《输入与输出:Scanner与System类》)
36 11
|
11天前
|
Java
课时14:Java数据类型划分(初见String类)
课时14介绍Java数据类型,重点初见String类。通过三个范例讲解:观察String型变量、&quot;+&quot;操作符的使用问题及转义字符的应用。String不是基本数据类型而是引用类型,但使用方式类似基本类型。课程涵盖字符串连接、数学运算与字符串混合使用时的注意事项以及常用转义字符的用法。
|
11天前
|
存储 Java 编译器
课时11:综合实战:简单Java类
本次分享的主题是综合实战:简单 Java 类。主要分为两个部分: 1.简单 Java 类的含义 2.简单 Java 类的开发
|
12天前
|
传感器 监控 Java
Java代码结构解析:类、方法、主函数(1分钟解剖室)
### Java代码结构简介 掌握Java代码结构如同拥有程序世界的建筑蓝图,类、方法和主函数构成“黄金三角”。类是独立的容器,承载成员变量和方法;方法实现特定功能,参数控制输入环境;主函数是程序入口。常见错误包括类名与文件名不匹配、忘记static修饰符和花括号未闭合。通过实战案例学习电商系统、游戏角色控制和物联网设备监控,理解类的作用、方法类型和主函数任务,避免典型错误,逐步提升编程能力。 **脑图速记法**:类如太空站,方法即舱段;main是发射台,static不能换;文件名对仗,括号要成双;参数是坐标,void不返航。
34 5
|
11天前
|
Oracle Java 关系型数据库
课时37:综合实战:数据表与简单Java类映射转换
今天我分享的是数据表与简单 Java 类映射转换,主要分为以下四部分。 1. 映射关系基础 2. 映射步骤方法 3. 项目对象配置 4. 数据获取与调试
|
1月前
|
安全 Java 编译器
JAVA泛型类的使用(二)
接上一篇继续介绍Java泛型的高级特性。3. **编译时类型检查**:尽管运行时发生类型擦除,编译器会在编译阶段进行严格类型检查,并允许通过`extends`关键字对类型参数进行约束,确保类型安全。4. **桥方法**:为保证多态性,编译器会生成桥方法以处理类型擦除带来的问题。5. **运行时获取泛型信息**:虽然泛型信息在运行时被擦除,但可通过反射机制部分恢复这些信息,例如使用`ParameterizedType`来获取泛型参数的实际类型。
|
18天前
|
存储 监控 Java
【Java并发】【线程池】带你从0-1入门线程池
欢迎来到我的技术博客!我是一名热爱编程的开发者,梦想是编写高端CRUD应用。2025年我正在沉淀中,博客更新速度加快,期待与你一起成长。 线程池是一种复用线程资源的机制,通过预先创建一定数量的线程并管理其生命周期,避免频繁创建/销毁线程带来的性能开销。它解决了线程创建成本高、资源耗尽风险、响应速度慢和任务执行缺乏管理等问题。
144 60
【Java并发】【线程池】带你从0-1入门线程池
|
7天前
|
存储 网络协议 安全
Java网络编程,多线程,IO流综合小项目一一ChatBoxes
**项目介绍**:本项目实现了一个基于TCP协议的C/S架构控制台聊天室,支持局域网内多客户端同时聊天。用户需注册并登录,用户名唯一,密码格式为字母开头加纯数字。登录后可实时聊天,服务端负责验证用户信息并转发消息。 **项目亮点**: - **C/S架构**:客户端与服务端通过TCP连接通信。 - **多线程**:采用多线程处理多个客户端的并发请求,确保实时交互。 - **IO流**:使用BufferedReader和BufferedWriter进行数据传输,确保高效稳定的通信。 - **线程安全**:通过同步代码块和锁机制保证共享数据的安全性。
58 23
|
14天前
|
Java 调度
【源码】【Java并发】【线程池】邀请您从0-1阅读ThreadPoolExecutor源码
当我们创建一个`ThreadPoolExecutor`的时候,你是否会好奇🤔,它到底发生了什么?比如:我传的拒绝策略、线程工厂是啥时候被使用的? 核心线程数是个啥?最大线程数和它又有什么关系?线程池,它是怎么调度,我们传入的线程?...不要着急,小手手点上关注、点赞、收藏。主播马上从源码的角度带你们探索神秘线程池的世界...
83 0
【源码】【Java并发】【线程池】邀请您从0-1阅读ThreadPoolExecutor源码

热门文章

最新文章