房上的猫:类和对象>万物皆对象

众所周知:java是一门面向对象的编程语言

本章将介绍基础的类和对象

一.对象  对象是用来描述客观事物的一个实体,由一组属性和方法构成 二.封装  封装就是把一个事物包装起来,并尽可能隐藏内部细节 三.类  类定义了对象将会拥有的特征(属性)和行为(方法)  类的属性:   对象拥有的静态特征在类中表示时称为类的属性  类的方法:   对象执行的操作称为类的方法 四.类和对象的关系

 类和对象的关系是抽象和具体的关系  类是对象的类型,对象是类的实例  对象的属性和方法被共同封装在类中,相辅相成,不可分割 五.java的类模板  1.语法:

pubilc class <类名>{
   //定义属性部分
   属性1的类型 属性1;
   属性2的类型 属性2;
   ......
   属性n的类型 属性n;
   //定义方法部分
   方法1;
   方法2;
   ...... 
   方法n;
  }

  解析:    在java中创建一个类,需要使用一个class,一个类名和一对大括号    (1)class是创建类的关键字    (2)class前的public,表示公有的意思    (3)编写程序时,要注意编码规范,不要漏写public    (4)在class关键字的后面要给定义的类命名,然后写上一对大括号,类的主体部分就写在{}中  2.类的命名规则:   (1)不能使用java中的关键字   (2)不能包含任何嵌入的空格或点号".",以及除下划线"_",字符"$"外的特殊字符   (3)不能以数字开头  3.编写类的属性:   通过在类的主体中定义变量来描述所具有的静态特征(属性),这些变量称为类的成员变量  4.编写类的方法:   通过在类中定义方法来描述类所具有的行为,这些方法称为类的成员方法 六.创建和使用对象  类的作用就是创建对象,称为类的实例化过程  一个实例也就是一个对象,一个类可以生成多个对象  1.创建对象语法:

  类名 对象名 = new 类名();
  //在创建类的对象时,需要使用java的new关键字

 2.引用对象语法:

  对象名.属性  //引用对象的属性
  对象名.方法名(); //引用对象的方法
  //要引用对象的属性和方法,需要使用"."操作符。其中,对象名在原点的左边,属性或方法的名称在原点的右边

七.面向对象的优点  1.与人类的思维习惯一致  2.信息隐藏,提高了程序的可维护性和安全性  3.提高了程序的可重用性 八.使用类和对象的步骤  1.定义类:使用关键字class  2.创建类的对象:使用关键字new  3.使用类的属性和方法:使用"."操作符

九.Java数据类型的默认值

类型

默认值

int

0

double

0.0

char

'\u0000'

boolean

false

String

null

十.示例:

import java.util.Scanner; 
public class Objects_010 {
 //定共有的成员属性
    String name;
    int hp;

//英雄系统
    public void yx() {  
        System.out.println("我是英雄,我的基本信息如下:");
        System.out.println("姓名:" + name + "\t生命值:" + hp);
    }

//怪物系统(怪物类型设为独有的lx属性(有参方法))
    public void gw(String lx){  
        System.out.println("我是怪物,我的基本信息如下:");
        System.out.println("姓名:" + name + "\t生命值:" + hp+"\t类型:"+lx);
    }

//武器系统(武器攻击力类型设为独有的gjl属性(有参方法))
    public void wq(String gjl){  
        Scanner bdqn = new Scanner(System.in);
        gjl =bdqn.next();
        System.out.println("我是武器,我的基本信息如下:");
        System.out.println("武器名:" + name + "\t攻击力:"+gjl) ;
    }
    public static void main(String[] args) {
        Objects_010 a = new Objects_010();
      //使用new关键字创建类的对象
        Scanner bdqn = new Scanner(System.in);
      //创建扫描仪
        System.out.println("请输入英雄的基本信息:");
        System.out.println("姓名:");
        a.name=bdqn.next();      //使用“.”操作符点出属性
        System.out.println("生命值:");
        a.hp=bdqn.nextInt();    //使用“.”操作符点出属性
        a.yx();            //为英雄信息赋值并输出
        System.out.println("\n请输入怪物的基本信息:");
        System.out.println("怪物名:");
        a.name=bdqn.next();  //使用“.”操作符点出属性
        System.out.println("生命值:");
        a.hp=bdqn.nextInt();  //使用“.”操作符点出属性
        String lx = bdqn.next();  
      //为怪物系统中有参方法中的局部参数提前定一个变量在引用方法时使用
        System.out.println("类型:");
        a.gw(lx);          
      //为怪物信息赋值并输出,括号内是引用的前面的变量值给怪物系统中的参数
        System.out.println("\n请输入武器的基本信息:");
        System.out.println("武器名:");
        a.name=bdqn.next();  //使用“.”操作符点出属性
        System.out.println("攻击力:");
        String gjl = bdqn.next();  
      //为武器系统中有参方法中的局部参数提前定一个变量在引用方法时使用
        a.wq(gjl);        
      //为武器信息赋值并输出,括号内是引用的前面的变量值给武器系统中的参数
    }
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Python爬虫与数据挖掘

Python正则表达式初识(一)

首先跟大家简单唠叨两句为什么要学习正则表达式,为什么在网络爬虫的时候离不开正则表达式。正则表达式在处理字符串的时候扮演着非常重要的角色,在网络爬虫的时候也十分常...

1205
来自专栏java一日一条

Java到底是不是一种纯面向对象语言?

Java——是否确实的 “纯面向对象”?让我们深入到Java的世界,试图来证实它。

401
来自专栏函数式编程语言及工具

泛函编程(13)-无穷数据流-Infinite Stream

    上节我们提到Stream和List的主要分别是在于Stream的“延后计算“(lazy evaluation)特性。我们还讨论过在处理大规模排列数据集时...

1775
来自专栏深入浅出区块链技术

智能合约语言 Solidity 教程系列5 - 数组介绍

Solidity 是以太坊智能合约编程语言,阅读本文前,你应该对以太坊、智能合约有所了解, 如果你还不了解,建议你先看以太坊是什么

903
来自专栏Python小屋

微课系列(三):Python列表中存储的是元素的引用

技术要点:在Python中,变量不直接存储值,而是存储值的引用。同样,在列表、元组、字典、集合等容器类对象中也是存储的元素值的引用。

903
来自专栏deepcc

Js apply() call()使用详解

3326
来自专栏菩提树下的杨过

python:函数中五花八门的参数形式(茴香豆的『回』字有四种写法)

2594
来自专栏十月梦想

空对象和空的对象

空对象:表面内部不包含任何属性和方法的对象,比如var obj={}就是一个空对象

462
来自专栏java达人

List的四张面孔(泛型)

编程的时候,能在编译时发现并修改错误最好,等上线运行时报错才解决,则属于生产事故,且找到bug的位置需要花费更多的时间和精力。泛型是java1.5以后出的内容,...

1945
来自专栏Java帮帮-微信公众号-技术文章全总结

第十二天 面向对象-构造方法继承this super【悟空教程】

1507

扫码关注云+社区