java编程思想学习日志Day2

继承

 

继承会出现基类(我们常说的父类) 和导出类(常说的子类)

当继承时子类不仅包括父类的所有成员(尽管有些被private隐藏了) 而且复制了父类的接口,子类具有和父类完全相同的类型

 

 如图所示

可以说圆形是一个几何形

继承后 有两种方法可以使父类和子类出现差异

1.直接在子类中添加新的方法

2.重写父类的方法(overriding 也叫覆盖一般说重写多一点)

继承关键字extends

第一种书中称之为is like a(像是一个)一个热力泵可以加热可以制冷 一个空调只能制冷 热力泵就是is like a 空调 热力泵像是一个空调

第二种 书中称之为is a(是一个)刚才说到一个圆是一个几何图形 只覆盖父类方法没有自己的特殊方法

oop:面向对象编程

 

今日较大收获

多态向上转型

public class pa {
	private String  name;
	private int     age;
	protected int i;
	public pa(String name, int age, int i) {
		super();
		this.name = name;
		this.age = age;
		this.i = i;
	}
	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;
	}
	
	public int countab(int a, int b) {
		return a+b;
	}

}//父类pa

public class sa  extends pa{
        private String aihao;
        

		public sa(String name, int age, int i, String aihao) {
			super(name, age, i);
			this.aihao = aihao;
		}

		

		public String getAihao() {
			return aihao;
		}

		public void setAihao(String aihao) {
			this.aihao = aihao;
		}

		@Override
		public int countab(int a,int b) {
			return a+b+1;
		}
		
		
		
}//子类sa

public static void main(String[] args) {
	
        sa sa = new sa("a", 0, 10, "aaa");
        pa pa = new pa("asd", 0, 10);
       
        
        
           	pa p=new sa("a", 0, 10, "aaa");
           	System.out.println(p.countab(1, 1));
       
}

sa向上转型后 变为pa p 使用p调用countad方法 调用的事sa重写过之后的方法 输出结果为3 而不是父类pa的方法

这里多态只是稍微提一下  后面还有单独一章专门讲多态这里先简单记录一下学到的

向下转型

java5之前 list map 都是没有泛型的 默认遍历出来都是object 这样才需要向下转型  向下转型是不安全的除非知道所要处理的对象的类型。

容器(集合)

在编程时候选择需求相应的容器同时还要考虑每个容器做每样功能时候的效率,arraylist与linkedlist相比 随机查询一个数据对arraylist来说只需花费一点时间而对linkedlist来说代价却是昂贵的,越接近尾部查询越慢。但是对于在序列中插入一个元素,linkedlist花费却比arraylist小。

此书确实对编程思想有较大的帮主 对底层理解也有帮主 不可多得的好书  第二天学习到此结束   继续坚持

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值