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

众所周知: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 条评论
登录 后参与评论

相关文章

来自专栏zaking's

用js来实现那些数据结构08(链表02-双向链表)

  其实无论在任何语言中,一种数据结构往往会有很多的延伸和变种以应对不同场景的需要。其实前面我们所学过的栈和队列也是可以用链表来实现的。有兴趣的小伙伴可以自己尝...

2876
来自专栏java学习

基本数据类型

基本数据类型 在数据类型中,最常用也是最基础的数据类型,被称作基本数据类型。可以使用这些类型的值来代表一些简单的状态。 Java 语言的基本数据类型总共有以下8...

3638
来自专栏十月梦想

数组截取slice和splice区别

在数组截取slice和splice都可以实现数组对象的截取,那么这两个有什么区别呢?当然我们先从代码实例推测一下!

1093
来自专栏Hongten

java内部类_让你一看就明白_再也不用困惑啦

在一篇blog:“java内部类的作用分析”中你可以了解java内部类的一些东西,不过内部类中还有一些地方值得我们细心研究...

1852
来自专栏猿人谷

C++重要知识点小结---1

1.C++中类与结构的唯一区别是:类(class)定义中默认情况下的成员是private的,而结构(struct)定义中默认情况下的成员是public的。 2....

1869
来自专栏诸葛青云的专栏

手把手教你c语言基础语法——结构体

在前面已经介绍了整形(int,long,….),浮点型(flaot,double),字符型(char),还介绍了数组(存储一组具有相同类型的数据),字符串。但是...

660
来自专栏Play & Scala 技术分享

Play For Scala 开发指南 - 第2章 Scala基本语法

2635
来自专栏鸿的学习笔记

Python和Scala的序列

序列是一门高级语言里都会具备的一种数据结构,Scala和Python也不例外。在不同的语言里,序列有着各种不同的别称以及增添了不同的功能,今天只关注Scala和...

741
来自专栏黑泽君的专栏

c语言基础学习09_复合类型

============================================================================= 涉及...

961
来自专栏小白的技术客栈

Python基础语法-常量与变量(重发)

昨天的文章虽然有插图,但是一个都没有显示出来,估计是天气太热,不愿意露面的缘故吧。这些都不是事,暂且不表,今天再次发布与昨天相同的文章,主要为了弥补3个插图。为...

3324

扫码关注云+社区