Java基础知识4

8.1
抽象类中成员变量的特点:‘
1.成员变量 :可以是常量也可以是变量
2.构造方法:有,不让实例化,用来初始化子类对象
3.成员方法:可以是抽象的方法,也可以是具体的方法。

abstract 不能和哪些关键字共存
private:冲突 private不能被子类继承 肯定不能被重写
final:冲突 final修饰的方法不能被重写 只能被继承
static :无意义 静态是属于类的,这个如果是抽象方法,那调用调用这个抽象的方法就没有意义。

接口:接口是用来定义额外的功能(扩展性功能)给具体的实现---抽象方法(接口中,都是抽象方法,有没有abstract都一样)
1.接口用关键字interface表示
格式interface  接口名{}    (将来  谁要拥有特接,实现接口就可以了  接口编译完后,也会生成.calss文件)
2.接口和类之间存在什么关系,实现关系

 class SuperMan implements TeJi{

   //实现接口中的方法}

3.接口中没有构造方法
4.无法实例化 没有办法创建对象
5.接口的实现类:
        (1):可以是抽象类,没有意义
        (2):具体的类 必须要实现接口的方法
利用多态:
类与类之间的多态
1.类与类之间继承
2.要有方法的重写
3.父类的引用执行子类

类与接口之间的多态

1.类与接口之间是实现的关系

 2.有方法的实现\重写

3.接口名 指向 实现类(子类)对象

接口中成员的特点
1.成员变量:只能是最终的变量(常量),并且是静态的
    默认修饰符就是 public static  final  ----只能是这三个
2.成员方法:成员方法必须的是抽象的方法。
    默认修饰符是   public abstract 


1.类和类之间是继承关系:只能单继承,不能多继承,能多层继承
2.类和接口之间是实现的关系:可以单实现,也可以多实现。(可以在继承一个类的基础上,多实现)
    class Student extends Person implements pashu,Aoshu,.....//例子
3.接口和接口的关系是继承的关系:可以单继承也可以多继承(Java中存在多继承吗?存在)

8.2
参数传递:
1.类名作为参数进行传递,实际是传的是对象。
2.抽象类作为参数进行传递,实际是传递的是子类的对象。
3.接口作为参数进行传递,实际上是传递的是实现类的对象。

返回值
1.类作为返回值类型,实际返回的是类的对象。
2.抽象类作为返回值类型,实际返回的是子类的对象
3.接口作为返回值类型,实际上是返回的是实现类的对象

权限修饰符,代表什么权限:访问权限修饰符的类、方法、变量等可见范围
从大到小依次是:
    修饰符:    类        同一包        同一项目
    public      √           √            √
    default        √           √

String类
String (String original):把字符串数据封装成字符串对象;String s =new String ("abc");
String(char[] value):把字符数组的数据封装成字符串对象:String s =new String(a);
(char[] a={'a','b','c'})
String (char[]value,int index,int count):把字符串的一部分数据封装成字符串对象;String  s= new String(a,1,2)


常用字符串方法
boolean equals(object obj)     判断两个字符串中内容是否相同
boolean equalsIgnoreCase(String str) 判断两个字符串中内容是否相同,忽略大小写
boolean contains(String str)       判断该字符串中是否包含 给定的字符串
boolean startWith(String str)   判断该字符串 是否以给定字符串开头
boolean endsWith(String str)    判断该字符串 是否以给定字符串结尾
boolean isEmpty( )           判断该字符串内容是否为空的字符串“”

int length()    获取该字符串的长度
char charAt(int index)  获取该字符串中指定位置上的字符
String substring(int start)   从指定位置开始,到末尾结束,截取该字符串,返回新的字符串(左闭右开)
int indexOf(int ch)   获取给定的字符串,在该字符串中第一次出现的位置  (Ascll码值)
a-z:97-123

A-Z:65-90

0-9:48-57


int indexOf(String ch) 获取给定的字符串,在该字符串中第一次出现的位置
int indexOf(int ch,int fromIndex)  从指定位置开始,获取给定的字符,在该字符串中第一次出现的位置
byte[] getBytes() 把该字符串 转换成字节数组
char[] toCharArray() 把该字符串  转换成字符串数组
String replace(char old,char new)在该字符串中,将给定旧的字符串,用新的字符串替换
String replace(Sting old,String new)在该字符串中,将给定旧的字符串,用新的字符串替换
String trim() 去除字符串两端空格 中间的不会去除,返回新的字符串
String toLowerCase() 把该字符串转换成小写字符串
String toUpperCase() 把该字符串转换成大写字符串
String split(String regex)  按照你给的字符串分割

== 和equals()的区别?
== 
    如果比较的是基本数据类型,那比较的就是数值
    如果比较的是引用数据类型,那比较的就是地址值
equals:
    只能比较引用数据类型
    来自object()如果没有重写,默认比较的是地址值
    String中的equals比较的是内容。

包装类
    就是我们基本数据类型,封装成一个类,可以创建对象,这个类就叫包装类
    byte     shrot       int           long        float        double           char             boolean 
    Byte     Short    Integer      Long      Float       Double        Character       Boolean

数组和集合的区别:
1.长度不同
    数组的长度是固定的,而集合长度可变
2.存储的数据类型不同:
    数组存的可以是基本数据类型,也可以是引用数据类型
    集合只能存储引用数据类型
3.存储内容不同:
    数组只能存储一个数据类型 int[] arr=new int[3];
    集合可以存储多种数据类型

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值