java -- 面向对象

一.方法重载(1)

  1,不同的形参列表:类型不同,个数不同,顺序不同

  2,方法的重载和权限修饰符,返回值类型,形参的变量名无关

  3,如何确定调用的是哪个方法:方法名+形参列表

  4,如果有相同的类型(形参的类型)那么就直接调用,如果没有,就在查找是否有可以自动类型提升的方法

一.可变形参(2)

  

/*
 * 可变形参
 * 
 * 格式:方法名(变量的类型 ... 变量名)
 * 
 * 说明;
 *         1.可变形参的个数可以是0个1个或多个
 *         2.可变形参的底层就是一个数组,取值的方式和数组一模一样
 *         3.数组和可变形参如果变量类型一样,不构成重载
 *         4.一个数组中只能有一个可变形参,且是最后一个参数
 */
public class MoreArgs {
    public static void main(String[] args) {
        ComputerNumber cn = new ComputerNumber();
        cn.sum(1,2,3);
        cn.sum(0);
        cn.sum(1,2,3,4,5);
        
    }
}

class ComputerNumber{
    // 可变形参底层就是一个数组
    public void sum(int ... numbers) {
        int sum = 0;
        for(int i = 0;i < numbers.length;i++) {
            sum += numbers[i];
        }
        System.out.println(sum);
    }
}

二.package包

  package作用:java为了对所有的类进行统一的管理和划分,所以才有了包的概念
说明:
  作用:java为了对类进行统一的管理,所以才有了包的概念
  包名:com.域名.项目名.模块名
  ".":每"."一次代表一层目录
  类名:不同的包下的类名可以相同,相同包下的类名不能相同
  位置:源文件的首行

三.import关键字

 关键字:import
  1.在源文件中使用import显式的导入指定包下的类和接口
  2.声明在包的声明和类的声明之间
  3.如果需要导入多个类和接口,那么就并列显式多个import语句即可
  4.举例:可以使用java.util.*的方式,一次导入util包下所有的类和接口
  5.如果导入的类或接口是java.lang包下的,或当前包下的,则可以省略此import语句
  6.如果在代码中使用不同包下的同名的类,那么就需要使用类的全类名的方式指明调用的是那个类
  7.import static组合的使用:调用指定类或接口下的静态的属性或方法
  8.如果已经导入java.a包下的类,那么如果需要使用a包的子包下的类的话, 仍然需要导入

四.面向对象

  1)面向对象与面向过程:  

    >面向过程:强调的是功能行为
    >面向对象:将功能封装金对象,强调具备了功能的对象

  2) 面向对象的三大特征:封装,继承,多态

  3)Java四种权限修饰符public,protected,private,缺省的


五.为什么要使用封装性:
  a.在创建对象后,我们可以通过对象名.属性名,给属性进行赋值,赋值时只有变量的类型和范围的限制。但是在开发中我们往往还会有很多的限制。而这些限制条件不能在属性的声明处加以限制。我们采取如下方法:
    1.对属性进行权限的限制。这样可以防止属性在类的外部被进行调用
    2.创建方法,通过方法对属性进行赋值。在方法中可以加以条件的限制。

  b.封装性的体现(狭义上):
    1.私有化属性
      注意:约定俗成的将给属性赋值的方法命名成setXxx,获取属性的值的方法命名成getXxx,无论set还是get方法都是普通的方法
    2.使用set/get (set/get方法就是方便理解方法的作用)方法进行属性的赋值和获取
  c.封装性的体现(广义上)
    1.权限修饰符:public private protected 缺省的
    2.类只可以被public 和 缺省的修饰
    3.四种权限修饰符可以修饰:属性,方法,内部类,构造器

六.构造器的特征
  1.它具有与类相同的名称
  2.它不声明返回值类型。(与声明void不同)
  3.不能被static,final,synchronized,abstract,native修饰,不能有return语句返回值

构造器的作用:创建对象;给对象进行初始化

 *  给属性的赋值方式?
 *      1. 默认赋值    2.显示赋值(声明即赋值)    3.对象名.属性名 / 对象名.方法名     4.构造器赋值
 *      
 *  给属性赋值顺序:1 -> 2 -> 4 ->3

    

猜你喜欢

转载自www.cnblogs.com/jiujiang/p/11563856.html