Java点滴之类与对象

时间:2022-09-06 09:41:52

类的概述

Java是一门纯粹的面向对象(OOP)语言,面向对象程序是由多个对象所组成的,而对象的创建又必须依赖于类,那么什么又是类呢?在现实世界中,我们常常将多个具有相同或相似特征的对象分为一类,并冠以“xx类”的称呼,比如:我们将生活在水中、长有鳞片的动物称之为“鱼类”,将长有翅膀、羽毛且会飞行的动物称之为“鸟类”。在Java程序的世界中,类的含义与现实世界的相同,只不过在程序中必须先定义类,然后才会产生对象,这恰恰与现实世界中相反。通过以下例子,我们将一步步的来定义一个类并创建对象

 class Person {
     private String name;   //成员变量
     private int age;       

     public Person(name, age) { //构造函数
       this.name = name;
       this.age = age;
     }  

     public void sayHello() {    //成员函数
        System.out.println("Hello,My name is " + name + " and I'm " + age + " years old!");
     }
 }    

在Java中,定义一个类首先要书写关键字class,后接类名(Person),并且类名的首字母要大写,类的所有元素包含在一对大括号中。在java类中,存在着3种最基本的元素:成员变量、成员方法、构造函数。成员变量用于定义类的基本属性,比如Person类拥有姓名(name)和年龄(age)这两个基本属性;成员方法用于定义类的行为(Person类的sayHello方法);构造函数在类创建对象时调用,没有返回值类型,并且函数名与类名一致,一个类可以拥有多个不同的构造函数,当程序员没有手动书写构造函数时,java会生成一个无参构造函数,在程序开发的过程中,我们通常通过构造函数来赋予成员变量所需要的值。

创建对象

 public class Main {

     public static void main(String[] args) {

         Person person = new Person("Smith", 20);
         person.sayHello();
     }

 }

在Java中,源文件以.java作为后缀,一个源文件可以包含多个类,但只允许存在一个public类,并且类名必须与文件名相同,JVM以main函数作为入口开始执行程序,通过new关键字来创建一个对象。在Main类中,我们创建了一个Person类对象,通过person这个引用变量来对这个对象进行操作,如调用sayHello方法。

执行结果:Hello,My name is Smith and I'm 20 years old!

Java点滴之类与对象的更多相关文章

  1. 3.Java基础之Date对象

    毕向东老师Java基础学习笔记——Date对象 今天学习Java中的Date对象后,感觉这个对象对我们主要有以下几点用处. 1.获取时间和日期并按照自己定义的格式显示. 2.网站设计时显示时间.  知 ...

  2. 2.Java基础之Runtime对象

    毕向东老师Java基础学习笔记——Runtime对象 今天学习Java中的Runtime对象后,感觉这个对象对我们主要有以下几点用处. 1.使用java代码打开本地可执行文件,比如打开一个计算器. 2 ...

  3. 1.Java基础之System对象

    毕向东老师Java基础学习笔记——System对象 今天学习Java中的System对象后,感觉这个对象对我们主要有以下几点用处. 1.获取当前操作系统版本和类型. 2.获取当前操作系统的path中的 ...

  4. java比较两个对象是否相等的方法

    java比较两个对象是否相等直接使用equals方法进行判断肯定是不会相同的. 例如: Person  person1  =new Person("张三"); Person  pe ...

  5. Atitit 跨平台异常处理(2)--------异常转换 -----java c# js异常对象结构比较and转换

    Atitit 跨平台异常处理(2)--------异常转换 -----java c# js异常对象结构比较and转换 { "@type":"java.lang.Runti ...

  6. Java多线程编程核心技术---对象及变量的并发访问(一)

    synchronized同步方法 "非线程安全"其实会在多个线程对同一个对象中的实例变量进行并发访问时发生,产生的后果就是"脏读",也就是渠道的数据其实是被更改 ...

  7. java的几种对象(PO,VO,DAO,BO,POJO)解释

    java的几种对象(PO,VO,DAO,BO,POJO)解释     一.PO:persistant object 持久对象,可以看成是与数据库中的表相映射的java对象.最简单的PO就是对应数据库中 ...

  8. java传递和返回对象

    java传递的只是一个引用,一定要注意准确认识在对象传递和赋值时所发生的一切. 事实上,java中的每个对象(除了基本数据类型以外)的标识符都属于指针的一种,但是其使用受到了严格的限制和防范,不仅在编 ...

  9. JAVA类型信息——Class对象

    JAVA类型信息——Class对象 一.RTTI概要 1.类型信息RTTI :即对象和类的信息,例如类的名字.继承的基类.实现的接口等. 2.类型信息的作用:程序员可以在程序运行时发现和使用类型信息. ...

随机推荐

  1. MyBatis源码分析-MyBatis初始化流程

    MyBatis 是支持定制化 SQL.存储过程以及高级映射的优秀的持久层框架.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.MyBatis 可以对配置和原生Map使用简 ...

  2. 【BZOJ-2476】战场的数目 矩阵乘法 + 递推

    2476: 战场的数目 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 58  Solved: 38[Submit][Status][Discuss] D ...

  3. 【转】AspNetPager分页控件用法

    AspNetPager分页控件解决了分页中的很多问题,直接采用该控件进行分页处理,会将繁琐的分页工作变得简单化,下面是我如何使用AspNetPager控件进行分页处理的详细代码: 1.首先到www.w ...

  4. 基于MyEclipse6.5的ssh整合

    1.编写目的 为了学习,为了更好的学习java. 为了让想要学习这个整合的人少走弯路! ! ! 2.实验环境 l MyEclipse6.5 l JBoss4.2.1 l SQL2005 l 数据库脚本 ...

  5. MySQL高可用解决方案(MySQL HA Solution)

    http://blog.sina.com.cn/s/blog_7e89c3f501012vtr.html 什么是高可用性?很多公司的服务都是24小时*365天不间断的.比如Call Center.这就 ...

  6. mysql查询随机几条数据(速度快)

    MySql查询随机几条数据 想到了 Max RAND 这几个函数 用以下2种办法都可以实现查询. 速度还行. 几十万数据左右, 没有什么问题. SELECT * FROM `news` WHERE i ...

  7. Python获取秒级时间戳与毫秒级时间戳

    获取秒级时间戳与毫秒级时间戳 import time import datetime t = time.time() print (t) #原始时间数据 print (int(t)) #秒级时间戳 p ...

  8. elasticsearch的集中常见操作

    1.引入dependency <dependency> <groupId>org.springframework.data</groupId> <artifa ...

  9. 博弈论入门之nim游戏

    更好的阅读体验点这里 nim游戏 nim游戏 有两个顶尖聪明的人在玩游戏,游戏规则是这样的: 有\(n\)堆石子,两个人可以从任意一堆石子中拿任意多个石子(不能不拿),没法拿的人失败.问谁会胜利 ni ...

  10. HTML5实现全屏

    现在主流的浏览器都支持全屏,但是各家实现不一.下面是主流浏览器实现方法: // W3C 提议 element.requestFullscreen(); element.exitFullscreen() ...