Day7

面向对象三大特性:继承,封装,多态
1,继承:xx是一种xx
public class Cat extends Animal
子类
父类,基类,超类
作用:简化代码(减少代码冗余)
构造方法:父类对象先与子类对象创建
super():调用父类构造函数
重写:当父类方法不能满足子类需求 方法名相同,参数也得相同,子类重写方法访问修饰符不能比父类更严格
equals hashcode
2,访问修饰符 ,本类 同包 继承 无限制
public --公有 , T T T T
protected --受保护的 , T T T
默认 , T T
private --私有的 , T
3,static – 静态的,全局唯一
静态方法中不能出现非静态元素
4,final 不可变的 – 类:不能有子类
属性:必须赋初值,若不赋初值,需要在构造函数中赋初值,一旦赋值, 值不能被改变
方法:不能被重写
局部变量:可以不赋初值。一旦赋值,值不能被改变

例题1
编写一个控制台应用程序,完成下列功能,并回答提出的问题。

  1. 创建一个类A,在构造函数中输出“A”,再创建一个类B,在构造函数中输出“B”。
  2. 从A继承一个名为C的新类,并在C内创建一个成员变量B。不要为C创建构造函数。
  3. 在Main方法中创建类C的一个对象,写出运行程序后输出的结果。
    代码
    package dyy; public class A { public A(){ System.out.println(“A”); } } package dyy; public class B { public B(){ System.out.println(“B”); } } package dyy; public class C extends A{ double B; } } package dyy; public class Test { public static void main(String[] args) { C c=new C(); } } 输出结果为: A 4) 如果在C中也创建一个构造函数输出“C”,整个程序运行的结果又是什么? package dyy; public class C extends A{ double B; public C(){ System.out.println(“C”); } } 输出结果为: A C

例题2
定义一个计算器;它的功能有 加,减,乘,除,累加,阶乘,求平方,求次方,判断一个数是否为素数;boolean(int),并写测试类来测试这个方法
代码
public int add(int a,int b){ return a+b; } public int sub(int a,int b){ return a-b; } public int mulAgdd(int a){ int sum = 0; for(int i=1;i<=a;i++){ sum+=i; } return sum; } public int leicheng(int a){ int sum = 0; for(int i=1;i<=a;i++){ sum*=i; } return sum; } public double cf(int a,int b){ return Math.pow(a,b); } public static void main(String[] args){ JiSuanQi p = new JiSuanQi(); System.out.println(p.add(5, 8)+" "+p.cf(2, 3)); }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值