JAVA面向对象知识点总结一

本文总结了JAVA面向对象的核心概念,包括类与对象的关系、属性与方法、方法的重载、类方法、封装、继承、多态、构造方法以及抽象类和接口。同时,介绍了异常处理的基本知识,讲解如何计算输入数字的和与平均值。
摘要由CSDN通过智能技术生成

面向对象:
类与对象的关系:类是对象的抽象,对象是类的实现
类是由属性和方法构成,它的每一个对象都有对应的属性和方法

方法:
方法的重载:
     目的:针对同一个行为的多种表现,对应相同方法名的多个方法
     原则:方法名相同,参数列不同
类方法(static方法)
     类名.方法()

三大特性:封装、继承、多态
封装:保护属性值不被随意修改
私有化属性,并提供getter、setter对外接口

继承:代码重用、多态的基础
extends关键字
默认的根类是Object,单根继承
方法的重写:
     前提:有继承关系、方法名相同、参数列表相同、返回值相同或者小于父类、访问修饰符不能小于父类、异常不能多于(严于)父类
构造方法:
     默认的构造方法都会先走父类的无参构造方法
     用super指定的构造方法,调用指定构造方法前,参照第一条

多态:
以父类作参数类型的
     父类中的方法如果被子类重写,那么在使用父类调用该方法是,
     则看具体的子类类型,决定调用的是哪个重写后的方法
以父类作返回值类型的
     如果只调用父类方法,则没问题
     如果需要调用子类特有的方法,则需要向下强制转型

抽象类和接口:
abstract关键字:定义抽象类和抽象方法
interface关键字:定义接口
implements关键字:实现接口
抽象类和接口的异同点:
     相同点:都不能被实例化,都可以有抽象方法
     不同点:
     1、接口的所有方法都默认是:public abstract类型
            2、接口的所有属性都默认是:public static final类型
            3、抽象类用来被继承,主要的目的是代码重用,只能继承一个类
            4、接口用来扩展功能,可以实现多个接口

异常

异常:
	异常的分类:Throwable-->Error、Exception
	Exception-->checked异常、运行期异常(RuntimeException)
	异常的处理:
        try{
        	有可能产生异常的代码
    	}catch(有可能的异常类型 e){
        	打印堆栈/打印异常信息.....
    	}finally{
        	最终块,往往用于关闭资源
    	}
	异常的定义:
    	自定义异常类,继承已知的异常类
    	写出有参构造,并用super调用父类的有参构造

计算输入的数字的和及平均值

 

public class 计算输入的数字的和及平均值 {//介绍了Scanner建的对象调用hasNextDouble和nextDouble的方法

public static void main(String args[]){

System.out.println("请输入您想输入的数字:");

Scanner reader=new Scanner(http://System.in);

int i=0;

double sum=0;

while(reader.hasNextDouble()){

double m=reader.nextDouble();

sum=sum+m;

i++;

}

double h=sum/i;

System.out.printf("您输入的数字总和是:%f\n",sum);

System.out.printf("您输入的这些数字平均数是:%f",h);

}

}

计算平均成绩

 

计算平均成绩

import java.util.*;

public class Text {

public static void main(String args[]){

System.out.println("请输入评委的个数:");

Scanner shu=new Scanner(http://System.in);

int a=shu.nextInt();//这样使得你在文本框中输入的数显现出来

System.out.println("请输入各个评委的分数:");

double b[]=new double[a];//记住这种把变量设为数组length的方法

for(int i=0;i<b.length;i++){

b[i]=shu.nextInt();

}

java.util.Arrays.sort(b);//此种方法可将数组中的数字按小大排列好

System.out.println("去掉一个最高分:"+b[b.length-1]);

System.out.println("去掉一个最低分:"+b[0]);

double sum=0;

for(int i=1;i<b.length-2;i++){

sum=sum+b[i];

}

double ave=sum/a;

System.out.println("此选手的最终成绩为:"+ave);

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值