黑马程序员技术交流社区

标题: 集合小结 [打印本页]

作者: 白家鑫    时间: 2019-8-1 15:57
标题: 集合小结


继承中成员访问的特点
继承中变量的访问特点
在子类方法中访问一个变量采用就近原则
子类局部范围找
子类成员范围找
父类成员范围找
如果没有 就报错(不考虑,父类的父类)
class fu {
int num = 10;
}
class  zi  extends fu {
int num = 20;
public void show (){
int num  = 30;
System.out.println();
}
public Demo {
public static void main (){
ZI  zi  = new ZI ();
super.num  //  输出父类中成员变量的值
this.num // 输出子类成员变量的值
z.show();//  输出子类show方法内的变量
}
}

this.访问本类构造方法。
super. 访问父类构造方法

方法重写
子类中出现了和父类中一模一样的方法声明(方法名一样,参数列表也必须一样)
方法重写的应用场景
当子类需要父类的功能,而功能主体子类有自己的特有内容时候,就可以重写父类中的方法。
即会沿袭父类的功能。 又定义了子类特有的内容。
override
用来检查当前的方法,是否是重写的方法,起到效验的作用
方法重写的注意事项。
私有的方法不能被重写
子类方法访问权限不能更低 (public> 默认> 私有的)

static 的概念
static 关键字是静态的意思,可以修饰成员方法, 成员变量

class  Student{
public String name;
pubilc static String university  // 学校, 共享数据! 所以设计为静态。
}
class Demo {
public static void main(){
Student.university = "大学"  // 共享数据,不需要创建对象就可以调用。
}
}
static 访问特点
非静态成员方法:
1.能访问静态的成员变量
2.能访问非静态的成员变量
3 能访问静态的成员方法
4 能访问非静态的成员方法。

静态的成员方法。
能访问静态的成员变量
成访问静态的成员方法

总结:  静态成员方法只能访问静态成员
多态
实现动物类
public class Animal {
private String name;
pirvate int age;
public  void eat (){
System.out.println(chi);
}
}
public  class cat extends Animal {
public static void main(String [] args){
@Override
public void eat(){
System.out.println (maochi);
                }
}
public class  Animal Demo {
Animai a = new Cat // 创建多态对象,猫类对象。
a.setname(); //  修改对象中设定的内容
a.setage();  // 修改对象中设定的内容
System.out.println(a.getname + a.getage); // 输出对象
}

public abstract class Animal
public abstract class Animal
接口不能实例化,必须通过实现对象类方式
接口多态 多态的形式,具体类多态。抽象类多态。 接口多态
接口的子类  
要么重写接口中的所有抽象方法
要么子类也有抽象类  
接口中成员变量 : 只能是常量 , 默认修饰符 public static final
构造方法 : 没有构造方法, 因为接口主要是扩展功能的,而没有具体存在。
成员方法 只能是抽象方法。
默认修饰符 public abstract
类名作为方法的形参
方法的形参是类名。其实需要的是该类的对象
实际传递的是该对象的地址值
类名作为方法的返回值,返回的是该类的对象。
实际传递的,也是该类的地址值
to.String  以良好的格式,更方便的展示对象中的属性值

collection <String> c = new Arraylist<String> ();   //创建collection 对象
添加元素 c.add();
System,out,println (c);remove 从集合中移除指定的元素
clear 清空集合中的元素
contains 判断集合中是否存在元素
size 集合的长度

set 集合特点
元素存取无序
没有索引只能通过迭代器或者增强for遍历
不能存储重复元素

hashSet特点
底层数据结构是哈希表
对集合的迭代顺序不做保证,也就是说不保证存储和取出的元素顺序一至
没有带索引的方法,所以不能使用普通的for循环,
由于是set集合,所以不包含重复元素的集合

Tree set 集合特点
元素有序,根据其元素的自然排序进行排序
没有带索引的方法,所以不能使用普通for循环
自然排序








欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2