`
海阔天空yqh
  • 浏览: 5186 次
  • 性别: Icon_minigender_2
社区版块
存档分类
最新评论
阅读更多

 一、对象
     1.定义:生活中存在的具体实体,具有明确定义的状态和行为。 
     2.对象包括属性和方法 
                   (1)属性:事物本身的特征    如某个人的姓名、身高、年龄等或某个事物的名称,容量等

                   (2)方法:对象的行为,像学习某种语言,玩某个游戏等都可以看作一种方法,类似于c语言中定义的不同函数

二、类

     1.定义:按照固定的格式,对具体对象所共有的属性和方法进行定义,定义成一个模板。

     2.组成

                 (1)属性:同对象中的属性差不多,如某个人的姓名是他这个对象的属性,而姓名是整个人类这个类的属性

                 (2)方法分为普通方法和构造方法:

                普通方法:与对象中的方法类似,区别在于在类中,学习本身就可以作为一种方法,在对象中方法必须是学习某种具体的事物。

                构造方法:又叫构造器方法,是实例化对象的方法;用途:实例化对象,给属性设置初始值。

               二者的区别:返回值不同;方法名不同

      3.定义一个类的格式

//类名必须与文件名完全一致
public class 类名{
       
       //定义属性
        private 数据类型 属性名;

       //定义方法
        public 返回值数据类型(无返回值用void) 方法名(数据类型 形参名,...){
                  //方法体
        }
        //方法名后的括号内也可无形参

        //定义构造方法
        public 类名(数据类型 形参名,...){
	//方法体
       }

       //如果类中没有定义构造方法,Java会给类提供一个默认的构造方法
         public 类名(){
                 //方法体
      }
}

 

三、实例化对象与调用方法

      1.实例化对象

//实例化类的一个对象,Student是某一个类
类名 对象名=new 类名();
//如:
Student stu1=new Student();
//以上代码等价于:
Student stu1;/实例化Student类对象stu1,在栈中开辟一块新的内存空间指向stu1的对象名
stu1=new Student();/*将stu1这个变量名指向新建的一个Student对象,即在堆中开辟一块新的
内存空间存放这个对象,并让stu1指向该内存的首地址*/

      附:用类实例化对象时对象可作为参数

      2.调用方法

//格式:对象名.方法名(实参或者参数值,...);
stu.setName("小明");
//调用方法,并接收返回值;
int s=stu.getScore;
s-=1;
stu.study();

 

 四、方法(构造方法和普通方法)重载

       实现方法重载的条件
       1.方法名字必须要完全相同
       2.方法所带的参数个数、参数类型、参数顺序,这三项中最少要有一个是不同的。

public void study(){
		System.out.println(name+"学习中,学分是:"+score);
       }
	
public void study(int s){
		score += s;
		System.out.println(name+"学习中,学分是:"+score);
       }

 

五、值传递和引用传递

      1.值传递适用于java的基本数据类型+String,类似于c语言中的传值;

public class Student{
       public void changInt (int t){
             t=100;
      }
}


public class Manager{
        public static void main(String [] args){
                Student stu=new Student();
                int i=1000;
                stu.changInt(i);
                System.out.println("这里i的值为:"+i);
       }
}
//输出值为1000;方法中对t的改变不影响调用代码中i的值,即为值传递

 

       2.引用传递适用于Java的引用类型(对象类型)[类,抽象类,接口,数组 ],类似于c语言中的传地址。

public static void main(String[] args){
       Student stu1=new Student();
       stu1.setName("张三");
      Student stu2=new Student();
        stu2.setName("李四");
      Student stu3=new Student();
        stu3.setName("王五");
      stu1=stu2;
        stu2=stu3;
        stu3=stu1;
       String name3=stu3.getName;
       System.out.print("此时stu3的名字为:"+name3);
}
//此时输出得到“李四",stu3最终指向stu2对象,即为引用传递

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics