day5_java类和对象

对象

(1)一切可以被描述的事物,叫做实体

(2)属性:

                 指的是对象的特征

(3)方法:

                指的是对象的 动作,行为

--------------------------------------------------

相似对象的集合。抽象的概念

 ------------------------------------------------

类和对象

区别和联系

1.    类是抽象的,对象是类的具体化

2.    类是模板,规定了所有对象共同的属性和方法。

3.    对象 是通过模板 创建出来的 具体的一个实体;类是一种数据类型,是引用数据类型(存的地址),对象是堆中的引用变量

----------------------------------------------------------------------

 面向对象的思想

1.    符合人类认知规律

2.    以对象为中心,先开发类,得到对象,通过对象之间相互通信实现功能

3.    对象定义

(1)    访问修饰符 class 类名{

        //类体:

        属性;

        方法;

    }

(2)规范

帕斯卡命名法。多个单词组成,每个单词首字母都大写

例如:Scanner、String、System

4.    方法

(1)    访问修饰符 返回值类型 方法名(参数1,参数2…..){

方法体;

}

带返回值的方法:

         注意:
        1.声明的类型 必须与 返回的类型 一致;
        2.只能返回一个值;

(2)    规范

骆驼命名法

5.    This

this 表示本类对象,哪个对象调用的这个方法,this就是哪个对象

this可以用来调用本类的成员变量和方法

6.    方法的优势:

    代码(功能)封装;

    代码的重用

    方便维护

7.方法调用
    注意:
 
        1.不同类 中 调用方法 用对象名调用;
        2.同一个类中 自定义方法之间 互相调用,是
  使用 this调用的,this可以省略;
        3.同一个类中,主方法 调用 其它方法 必须用
  对象 调用。(因为 主方法是 static)

8.    成员变量和局部变量:

在类中直接定义的是成员变量,在方法中的是局部变量

作用域:成员变量  在 整个类中有效

           局部变量 只在 定义它的方法中有效

初始化:成员变量自动初始化

        局部变量必须我们自己初始化

优先级:如果成员变量和局部变量同名,优先使用局部变量,可以用this来区分,this调用的是成员变量


9.一个文件 中 定义多个类:
 注意:
  只能有一个类是public修饰的;
  public修饰的 类的名字 与 文件名必须一样;

  同一个程序包 中不能存在同名的类。

10.    类前注释

/**

* 交通工具类

* @author daidai

* @version 2018-5-1.0

*/

可以导出帮助文档

11.  一个文件中可以有多个类,但是只能有一个类是public,public修饰的名字必须与文件名一致

12.  无参方法

    带参方法

        注意:
          1.定义了形参,调用时必须传参;

          2.传参 时。类型 ,个数,顺序一致。

13.参数传递:

  1.参数是 值类型;

    值不变,不同的空间;


  2.引用类型

     两个引用 指向同一个对象,值变了;


  3.引用类型

    两个引用 指向不同的对象,值没变;


13.  对象数组

//遍历

for(person p :pens){

if(p == null){

break;

}

p.show();

}

 14. 匿名对象的使用方式只能使用一次

 -----------------------------

阶乘

BigInteger类型的使用

//阶乘

 

BigInteger 类型的使用
//阶乘

package day13;

import java.math.BigInteger;

public class Ex3 {

	public static void main(String[] args) {
		BigInteger sum = new BigInteger("1");
		int n =100;
		for(int i = 1 ;i <= n ;i++){
			sum = sum.multiply(BigInteger.valueOf(i));
		}
		System.out.println(sum);
	}

}

------------------------------------

//可变参数方法 ...
package day13;


import java.util.Arrays;

 class Test{
	public void f(int [] arr){
		System.out.println(Arrays.toString(arr));
	}
	
	public void fff(int ...arr){
		System.out.println(Arrays.toString(arr));
		System.out.println(arr.length);
	}
}

public class Ex7 {
	
	

	public static void main(String[] args) {
		Test t = new Test();
		int [] arr = {11,22,33};
		t.fff(arr);

	}

}

可变参数方法优势:传参,灵活,底层是数组

 

可变参数与数组参数的区别:

1.    数组作为参数,传参只能传一个数组

可变参数可以传多个值,可以不传值,可以传一个数组

2.    数组参数,可以有多个

可变参数,只能有一个

3.    数组参数,位置任意

可变参数,必须放在最后

----------------------------------------------------------

递归

1.    一个方法 反复调用自身;

2.    能有结束,反复调用自身的条件。(出口)

--------------------------------------------------------

命令行传参数






阅读更多
个人分类: javase复习笔记
上一篇day4_java数组
下一篇day7__java封装、重载.doc
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭