JAVA101-135

字符串

StringBuilder

public class Test {
public static void main(String[] args) {
StringBuilder sb = new StringBuilder("");
for(int i = 0;i <1000000;i++){
sb.append("abc");
}
System.out.println(sb);
}

在这里插入图片描述
在这里插入图片描述
ps:打印是是属性值而不是地址值,因为java在底层做了处理

sb.append(1);
sb.append(2.3);
sb.append(true);
sb.reverse()
int len = sb.length()
String str = sb.toString()

链式编程简化代码

对应的关系可以使用查表法,通过数组的对应的下表来改变成相应的值

修改字符串

可以有两个办法:
1.用substring进行截取,把左边的字符截取出来拼接到右侧去
2.可以把字符串先变成一个字符数组,然后调整字符数组里面数据,最后再把字符数组变成字符串。
注:1、传入的参数需要改变,因为循环的时候比较的是变换后的量,传入后也需要改变变换的量
eg:`strA = rotate(strA)
2、将字符串变为数组:
toCharArray()

字符串变整数

思路:
1.先遍历字符串依次得到每一个字符‘1’‘2’‘4’‘5’‘6’‘7’‘8’‘9’
再把字符变成对应的数字即可78123569把每一个数字组合到一起123456789
result = (str. chrAt (i)-48)+result * 10 通过ASCILL表转换

重点:字符串变为数组

ArrayList集合的基本使用

1.相比于长度固定的数组,可以追加数据
2.可以存储基本数据类型与引用数据类型
在这里插入图片描述3.添加对象
1.首先需要添加一个标准的javabean

package com.itheima;

import java.util.ArrayList;

public class test4 {

    public static void main(String[]  args) {

        ArrayList<Student> list=new ArrayList<>();

        Student s1= new Student("zhangsan",23);
        Student s2= new Student("lisi",21);
        Student s3= new Student("wangwu",21);
        list.add(s1);
        list.add(s2);
        list.add(s3);
        for (int i = 0; i < list.size(); i++) {
            Student stu=list.get(i);
            System.out.println(stu.getName()+","+stu.getAge() );
        }
    }
}

集合一开始的长度为0,如果用循环,进不去

注:
创建的学生对象是一个地址,如果给对象赋值,则最后只会显示一个对象,其余均被覆盖,因为对象是一个地址,所以每次循环要创建一个新的对象

跳出两个循环(相当于跳出指定的循环)

在这里插入图片描述

取一个名字
第二种写法:
System.exit()

面向对面进阶

static

private String name;
private int age;
private String gender;
public static String teacherName

加上static后所有的对象都共享 老师的姓名
在这里插入图片描述私有化构造方法
目的:不让外界创建他的对象

static的注意事项

静态方法只能访问静态变量和静态方法
非静态方法可以访问静态变量或者静态方法,也可以访问非静态的成员变量和非静态的成员方法
静态方法中是没有this关键字
总结:静态方法中,只能访问静态。
非静态方法可以访问所有。
静态方法中没有this关键字

重新认识main方法

在这里插入图片描述

继承

小结
1.什么是继承、继承的好处?
继承是面向对象三大特征之一,可以让类跟类之间产生子父的关系。
可以把多个子类中重复的代码抽取到父类中,子类可以直接使用,减少代码冗余,提高代码的复用性
2.继承的格式?

public class 子类 extends 父类{}

3.继承后子类的特点?
子类可以得到父类的属性和行为,子类可以使用。
子类可以在父类的基础上新增其他功能,子类更强大。

注:父类要用public,否则只能在本类中访问

子类继承的功能

在这里插入图片描述

继承中成员变量和成员方法的继承特点

就近原则:
this:本类
super:父类
在这里插入图片描述

方法的重写

在这里插入图片描述
应用场景:当父类中方法,不能满足子类现在的需求时,我们就需要把这个方法进行重写。

方法重写注意事项和要求

1.重写方法的名称、形参列表必须与父类中的一致。
2.子类重写父类方法时,访问权限子类必须大于等于父类(暂时了解:空着不写<protected< public)
3.子类重写父类方法时,返回值类型子类必须小于等于父类
4.建议:重写的方法尽量和父类保持一致。
5.只有被添加到虚方法表中的方法才能被重写

继承中的构造方法和thissuper关键字

在这里插入图片描述
如:

public class Student {
String name;
int age;
String school;
//需求:
/默认为传智大学
public Student() {
//表示调用本类其他构造方法
//细节:虚拟机就不会再添加super();
this(name:null,age:e,school:"传智大学");

}

public Student(String name, int age, String school) {
this.name = name;
this.age = age;
this.school = school;
}

会调用其他构造方法

多态

在这里插入图片描述
当传递的是一个类,可以引入所有子类

//创建对象(多态方式)
//Fu f = new Zi();
Animal a = new Dog();
//调用成员变量:编译看左边,运行也看左边
//编译看左边:javac编译代码的时候,会看左边的父类中有没有这个变量,如果有,编译成功,如果没有编译失败。
//运行也看左边:java运行代码的时候,实际获取的就是左边父类中成员变量的值
System.out.println(a.name);//动物
//调用成员方法:编译看左边,运行看右边
//编译看左边:javac编译代码的时候,会看左边的父类中有没有这个方法,如果有,编译成功,如果没有编译失败。
a.show();///Dog --- show方法

//理解:
//Animal a = new Dog();
//现在用a去调用变量和方法的呀?是的
//而a是Animal类型的,所以默认都会从Animal这个类中去找
//成员变量:在子类的对象中,会把父类的成员变量也继承下的。父:name子:name
//成员方法:如果子类对方法进行了重写,那么在虚方法表中是会把父类的方法进行覆盖的。




转换类型:
Dog d=(Dog)a

if(a instanceof Dog){
Dog d = (Dog) a;
d.lookHome();
}else if(a instanceof Cat){
Cat c =(Cat)a;
c.catchMouse();
}else{
System.out.println("没有这个类型,无法转换")}

通过强转,才可以调用,这是多态的弊端之一

包和final

在这里插入图片描述
在这里插入图片描述
全类名:包名+类名

final

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring4GWT GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet.Applet 简单实现!~ 网页表格组件 GWT Advanced Table GWT Advanced Table 是一个基于 GWT 框架的网页表格组件,可实现分页数据显示、数据排序和过滤等功能! Google Tag Library 该标记库和 Google 有关。使用该标记库,利用 Google 为你的网站提供网站查询,并且可以直接在你的网页里面显示搜查的结果。 github-java-api github-java-api 是 Github 网站 API 的 Java 语言版本。 java缓存工具 SimpleCache SimpleCache 是一个简单易用的java缓存工具,用来简化缓存代码的编写,让你摆脱单调乏味的重复工作!1. 完全透明的缓存支持,对业务代码零侵入 2. 支持使用Redis和Memcached作为后端缓存。3. 支持缓存数据分区规则的定义 4. 使用redis作缓存时,支持list类型的高级数据结构,更适合论坛帖子列表这种类型的数据 5. 支持混合使用redis缓存和memcached缓存。可以将列表数据缓存到redis中,其他kv结构数据继续缓存到memcached 6. 支持redis的主从集群,可以做读写分离。缓存读取自redis的slave节点,写入到redis的master节点。 Java对象的SQL接口 JoSQL JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于【自动提示】的需要(如:Google搜索), 而开发的架构无关的公共控件, 以满足该类需求可以通过快速配置来开发。AutoTips基于搜索引擎Apache Lucene实现。AutoTips提供统一UI。 WAP浏览器 j2wap j2wap 是一个基于Java的WAP浏览器,目前处于BETA测试阶段。它支持WAP 1.2规范,除了WTLS 和WBMP。 Java注册表操作类 jared jared是一个用来操作Windows注册表的 Java 类库,你可以用来对注册表信息进行读写。 GIF动画制作工具 GiftedMotion GiftedMotion是一个很小的,免费而且易于使用图像互换格式动画是能够设计一个有趣的动画了一系列的数字图像。使用简便和直截了当,用户只需要加载的图片和调整帧您想要的,如位置,时间显示和处理方法前帧。 Java的PList类库 Blister Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用程序)。 重复文件检查工具 FindDup.tar FindDup 是一个简单易用的工具,用来检查计算机上重复的文件。 OpenID的Java客户端 JOpenID JOpenID是一个轻量级的OpenID 2.0 Java客户端,仅50KB+(含源代码),允许任何Web网站通过OpenID支持用户直接登录而无需注册,例如Google Account或Yahoo Account。 JActor的文件持久化组件 JFile JFile 是 JActor 的文件持久化组件,以及一个高吞吐量的可靠事务日志组件。 Google地图JSP标签库 利用Google:maps JSP标签库就能够在你的Web站点上实现GoogleMaps的所有功能而且不需要javascript或AJAX编程。它还能够与JSTL相结合生成数据库驱动的动态Maps。 OAuth 实现框架 Agorava Agorava 是一个实现了 OAuth 1.0a 和 OAuth 2.0 的框架,提供了简单的方式通过社交媒体进行身份认证的功能。 Eclipse的JavaScript插件 JSEditor JSEditor 是 Eclipse 下编辑 JavaScript 源码的插件,提供语法高亮以及一些通用的面向对象方法。 Java数据库连接池 BoneCP BoneCP 是一个高性能的开源java数据库连接池实现库。它的设计初衷就是为了提高数据库连接池的性能,根据某些测试数据发现,BoneCP是最快的连接池。BoneCP很小,只有四十几K

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值