A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© zz1997203 初级黑马   /  2019-6-20 15:35  /  652 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

-----------------------ApI-------------
应用程序编程接口  java 中的的api: 概念 底层类库
ctrl+Alt +v 快捷键自动补全调用方法的接收数据
java。utll 需要导包   java.lang也可以导包 包下所以不需要导包
String 概念 : 用来描述字符串 特点 不可变的 可共享的 底层是字节数组
new出来的String堆内存开辟一条内存  
没new的 String s1 = 都在字符串常量池中 数据相同 比较类型和大小
不一样的话在字符串常量池在开一处内存 减少内存的使用率
使用==做比较
基本类型 比较的是数据值是否相同   引用类型  比较的是地址值是否相同
equals 字符串来说的话 比较的是数据值  si.equals(s2);
输入的字符串的变量名.length 长度方法  变量名.charAt 和提取字符串数值
str.substring取字符串 equals
String str = "123456789";
        //长度    string的方法
        System.out.println(str.length());
        //内容是否相等
        System.out.println(str.equals("123456789"));
        String str1 = "abc";
        System.out.println(str.equals("aBc"));//这个是false
        System.out.println(str.equalsIgnoreCase("ABC"));//不在乎大小
        //取字符
        System.out.println(str.charAt(0));
        //判断开始 是从这开始的吗
        System.out.println(str.startsWith("123"));
        //判断结束 是从这里结束的吗
        System.out.println(str.endsWith("789"));
        //取字符串
        System.out.println(str.substring(0,5));//取字符串0到5(但不包括五)的数字
        System.out.println(str.substring(1));//从第一位开始以后的字符打印
        //是否包含
        System.out.println(str.contains("456"));
        //字符出现的位置
        System.out.println(str.indexOf('8'));
        System.out.println(str.indexOf('y'));
        System.out.println(str.indexOf("23"));
           split(\\.)切割
String Builder  和String区别在于可变换    只能用 appe赋值 区别- String:不可变字符串- StringBuilder:可变字符
在堆内存不断追加数据  拼接用StringBuilder 不拼接用String
length 长度
append(任意类型) 添加数据 并返回对象本身  追加数据  链式编程  
reverse 返回相反的字符
tostring StringBuilder转String  String转StringBuilder 需要new他参数
- StringBuilder到String:  toString();
- String到StringBuilder:   new StringBuilder("abc")
-------------------ArrayList--------------
特点: 可变长度的数据容器 java.utll.ArrayList
ArrayList 构造方法和添加方法 ArrayList<数据类型(泛型)> = new ArrayList<泛型>
1. ArrayList集合的特点
   - 概念:可变长度的数据容器,java.util.ArrayList
2. ArrayList构造方法和添加方法
   - ArrayList<String> list=new ArrrayList<String>();
   - list.add("java"):添加数据
   - list.add(0,"java"):插入数据
3. ArrayList常用方法
   - remove(“java”):删除
   - remove(index):删除
   - set(0,"java"):替换
   - get(index):取单个值
   - size():长度 大小
数组获取长度是length 字符串是length() 集合是size
------------------继承-------------------
继承的概念:面向对象的三大基本特征之一,使子类可以拥有父类的属性和方法
继承的格式语法: public class 子类 extends  父类
继承的优点 提高代码的复用性 提高了代码的维护性
继承的缺点 父类和子类强耦合(紧密联系)在一起了,子类无条件的继承父类的方法
继承中变量的访问特点;规则:就近使用原则,局部优先原则子类的局部子类成员父类的成员
super关键字在访问成员变量时的用法 super.成员变量名-->父类的成员变量this.成员变量名-->本类的成员变量
继承中构造方法的访问特点(super调用构造方法)
super();  子类会默认调用父类无参的构造方法,super()方法当中除注释以外的第一句代码
this();本类的构造方法,方法当中除注释以外的第一句代码
继承中成员方法的访问特点(super调用成员方法)
super.方法名() 调用父类的方法 this.方法名() 调用本类的方法
方法重写 子类中出现与父类相同的方法
方法重写注意事项
private方法不允许被重写
private->默认->protected->public 子类方法的修饰符的访问范围要大于等于父类方法的修饰符
继承的注意事项 单继承体系多层继承
package的概念包就是文件夹,主要用来管理类  语法: package com.test;
import的概念  导入不同包中的java类语法:  import  com.test.类名; 支持通配符*   import com.test.*;
15.final修饰符  变量:变量的值不可被改变方法:不可以被重写类:不可被继承
.static修饰符 修饰属性: 类名.属性名  方式访问    多个对象共享一个属性的值 修饰方法:类名.方法名()访问
-------------------------------多态------------------------------------
多态的概述: 同一个对象 在不同时刻表现出来的不同形态
多态的前提和体现: 有几成实现关系  有方法重写 有父类引用指向子类对象
因为成员方法有重写 成员变量没有  子类有用重写子类的  没有用父类的   必须要重写 要不然掉不到
所以多态成员访问特点 变量 :编译看左边 运行看左边 方法 编译看左边 运行看右边
优点 :提高了代码的扩展性  缺点:父类的引用导致子类的
向上转型 自动类型转换 父类的类名 父类引用 = new 子类();
向下转型  强制类型转换   子类的类名 子类引用 = (子类的类名)父类的引用();
instanceof 判断父类是否能转换子类
---------------------------抽象类---------------------
abstract修饰的类 叫抽象类 没有方法体的的方法需要abstract修饰
public abstract void 方法名(){} 抽象类不一定有抽象方法 但是一个类有了抽象方法 类也必须是抽象类
抽象不能实例化对象 需要继承多态的形式使用它
抽象类的子类要么重写抽象方法  要么自己也变成抽象类
抽象类的成员特点 成员变量 可以是常量也可以是变量
有构造方法 给子类初始化对象的
---------------------------------接口---------------------------------------
接口  行为规范 特殊的类 所有方法都是抽象方法作为一种行为规范
public interface 接口名 接口通过interface关健字声明
类与接口之间的关系实现关系 implements
不能实例化对象
类实现接口后 要不重写接口里面的方法要不加abstract变成抽象类
接口成员变量(常量)默认语句是 public static final  变量类型和变量名 公有的常量
没有构造方法 因为没有变量 都是常量
成员方法默认是抽象方法public abstrac  返回值 方法名   公有的抽象方法(没有方法体)
实例化对象里面可以构造方法是因为他默认 继承object 给它里面super();并不是给接口
一个 实例化类可以继承后 继续实现单个 或多个接口 ,逗号隔开
接口和接口可以继承 也可以继承多个接口 extends 接口名 多个加逗号,
需求能被复用性一部分共有方法的一部分是抽象方法的使用抽象类
都是抽象类使用接口
新追加的功能使用接口 一个子类只能继承一个抽象类 但是可以实现多个接口
继承原来的子类添加新需求的接口   开闭原则 对新增开放 对修改关闭

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马