Java 对象和类

1.Java作为一种面向对象语言,支持以下基本概念:
(1)多态
(2)继承
(3)封装
(4)抽象
(5)类
1.类是一个模板,描述一类对象的行为和状态
Java中的类可以看成是创建java对象的模板,简单的举例对类的定义

        public class Dog{
          String breed;
          int age;
          String color;
          void barking(){

          }
          void hungry(){   void:标记不返回任何值

          }
          void sleeping(){

          }
        }

2.一个类可以包含以下类型变量:
(1)局部变量:在方法的,构造方法或者语句模块定义的变量被成为局部变量,变量声明和初始化都是在方法中,
方法结束后,变量就会自动销毁
(2)成员变量:成员变量是定义在类中,方法体之外的变量,这种变量在创建对象的时候实例化,成员变量可以被
类中方法、构造方法和特定类的语句块访问
(3)类变量: 类变量也声明在类中,方法体之外,但是必须声明static类型
总结: 一个类可以拥有多个方法,在上面的例子中:barking()、hungry()和sleeping()都是Dog类的方法
(6)对象
对象是类的一个实例,有状态和行为,
举例:一条小狗是一个对象,
状态有颜色,名字,品种,
行为:叫,吃等
Java的对象也有状态和行为,软件对象的状态就是属性,行为是通过方法体现 ,
在软件开发中,方法操作对象内部状态的改变,对象的相互调用也是通过方法来完成
(7)实例
(8)方法
(9)消息解析
二、构造方法
每个类都有构造方法,如果没有显示地为类定义构造方法,Java编译器会为该类提供一个默认的构造方法,在创建一个对象的
时候,至少要调用一个构造方法,构造方法的名称必须与类同名,一个类可以有多个构造方法
例子:

      public class Puppy{  类
        public Puppy(){ 构造方法

        }
        public Puppy( String name ){
          //这个构造器仅有一个参数:name
        }
      }

三、创建对象
1.对象是根据类创建的,在Java中,使用new关键字来创建一个新的对象,创建对象需要三步
(1).声明:声明是一个对象,包括对象名字和对象类型
(2).实例化:使用关键字new创建一个对象
(3).初始化:使用new创建对象时,会调用构造方法初始化对象
例子:

    public class Puppy{
      public Puppy (String name){
        System.out.printIn("Passed Name is :" + name );
      }
      public static void main(String []args){
        //创建一个新的Puppy对象
        Puppy myPuppy = new Puppy("tonny");
      }

2.访问实例变量和方法
通过已创建的对象来访问成员变量和成员方法,如下所示:
实例化对象:

        ObjectReference = new Constructor()
       访问其中的变量
        ObjectReference.variableName;
       访问类中的方法

3.实例
如何访问实例变量和调用成员方法

       public class Puppy{
        int puppyAge;
        public Puppy(String name){
          System.out.printIn("Passed Name is : "+ name)
        }
        public void setAge ( int age ){
          puppyAge = age;
        }
        public int getAge ( ){
          System.out.printIn("Puppy' age is :"+ puppyAge);
          return puppyAge;
        }
        public static void main(String []args){
        //创建对像
          Puppy myPuppy = new Puppy( "tommy" );
        //通过方法来设定age
          myPuppy.setAge(2);
        //调用另一个方法获取age
          myPuppy.getAge();
        //也可以像下面这样访问成员变量
          System.out.printIn("Variable Value : " + myPuppy.puppyAge); 
        }
       }
        ObjectReference.MethodName();

4.Java包、Import语句
例子:
在该例子中,我们创建两个类:Employee和EmployeeTest。
首先打开文本编辑器,把下面的代码粘贴进去。注意将文件保存为Employee.java。
Employee类有四个成员变量:name、age、designation和salary。该类显式声明了一个构造方法,该方法只有一个参数。

          import java.jo.*;
          public class Employee{
            String name;
            int    age;
            String desigination;
            double salary;
            //Employee 类的构造器
            public Employee( String name ){
              this.namr = name;
            }
            //设置designation的值
            public void empDesignation ( String empDesig){
              desigination = empDesig;
            }
            //设置salary的值
            public void empSalary( double empSalary ){
              salary = empSalary;
            }
            //打印信息
              public void printEmployee(){
                System.out.println("Name:"+ name );
                System.out.println("Age:" + age );
                System.out.println("Designation:" + designation );
                System.out.println("Salary:" + salary);
              }
          }

程序都是从main方法执行,为了能够运行这个程序,必须包含main方法并且创建一个实例对象,
下面给出EmpoyeeTest类,这个类实例化2个Employee ,并且调用方法设置变量的值。

          import java.jo.*;
          public class EmployeeTest{
            public static void main( String args[]){
            //使用构造器创建连个对象
                Employee empOne = new Employee ("James Smith");
                Employee empTwo = new Employee ( "Mary Anne");
                //调用这两个对象的成员方法
                empOne.empAge(26);
                empOne.empDesignation("Senior Software Engineer");
                empOne.empSalary(1000);
                empOne.printEmployee();

                empTwo.empAge(21);
                empTwo.empDesignation("Software Engineer");
                empTwo.empSalary(500);
                empTwo.printEmployee();
            }
          }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,530评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 86,403评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,120评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,770评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,758评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,649评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,021评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,675评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,931评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,659评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,751评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,410评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,004评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,969评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,042评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,493评论 2 343

推荐阅读更多精彩内容