类的语法格式

public class Person{
//属性类的成员变量可以先声明,不用初始化,类成员变量具有初始值
String name;
int age;
//方法
public void showName(){
System.out.println("姓名:"+name);
}
public int getAge(){
return age;
}
}

类的实例化:

public class Person{
//属性类的成员变量可以先声明,不用初始化,类成员变量具有初始值
String name;
int age;
//方法
public void showName(){
System.out.println("姓名:"+name);
}
public int getAge(){
return age;
}
public static void main(String[] args) {
Person person = new Person();
person.name = "tom";
person.age = 12;
person.showName();
int age = person.getAge();
System.out.println("年龄:"+age);
}
}

类的成员之一:属性

语法格式:修饰名类型 属性名=初值

说明:

  • 修饰符private:说明该属性只能由该类的方法调用;
  • 修饰符public:说明该属性可以被该类以的方法调用;
  • 类型:任何基础类型,如int、boolean或任何类;

变量的分类:成员变量和局部变量

在方法体以外、类体内声明的变量称为成员变量;在方法体内声明的变量称为局部变量;

所有变量:

  1. 成员变量:实例变量:不易static修饰;
                     类变量:以static修饰;
  2. 局部变量:形参:方法签名中定义的变量;
                      方法局部变量:在方法内定义;
            代码块的局部变量:在代码块内定义;

用static修饰的成员变量(类变量)可以直接使用,不需要先创建一个类的实例。可以直接(类名.类变量)来使用。

成员变量和局部变量的区别:

成员变量:

  • 变量定义在类中,在整个类中都可以访问;
  • 成员变量分为类成员变量和实例成员变量,实例变量存在于对量所在的堆内存;
  • 成员变量有默认初始值;
  • 成员变量的权限修饰符可以根据需要,选择任意一个;

局部变量:

  • 局部变量只定义在局部范围内,如方法内,代码块内等;
  • 局部变量存在于栈内存中;
  • 作用的范围结束,变量空间会自动释放;
  • 局部变量没有默认初始化值,每次必须显示初始化;
  • 局部变量声明不指定权限修饰符;

类的成员之二:方法

语法格式:修饰符 返回值类型 方法名(参数列表){方法体语句}。

方法只有被调用才会被执行。

方法中只能调用方法,不能定义方法。

同一个类中的方法可以相互调用而不需要创建一个新的实例。

说明:

  • 修饰符:public private protected等;
  • 返回值类型:return语句传递返回值,没有返回值使用void

java之面向对象的更多相关文章

  1. java的面向对象

    Java是1995年诞生.前身oak,后来改名为java. 面向对象的编程思想:对象是万事万物. 对象是由两部分组成的:属性和方法 1:属性是对象的静态特性(名词) 2:方法是对象的动态特性(动词) ...

  2. (Java)《head first java》值得Java或面向对象基础的新手看。

    看完这本书后本人收获良多. 内容对Java以及面向对象的入门者非常友好. 抽象的内容惯用图解的方法来剖析,通俗易懂 之前看C#入门经典的面向对象时,依然浓浓的一头雾水. (1)很不解为何实例化要写成A ...

  3. java学习面向对象之异常之一

    一.异常的概述: 什么是异常?在我们编写java程序的时候,会出现一些问题,比如内存溢出啊或者数组索引超出最大索引啊,这些编程当中出现的这些个问题就是异常.但是异常也分为可以处理的和不可以处理的.比如 ...

  4. Java之面向对象相关问题集

    面向对象的特征有哪些方面  1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并不打算了解所有问题,而仅仅是选择当中的一部分,临时不用部分细节. 抽 ...

  5. Java与面向对象

    一.面向过程的思想和面向对象的思想 面向对象和面向过程的思想有着本质上的区别, 作为面向对象的思维来说,当你拿到一个问题时,你分析这个问题不再是第一步先做什么,第二步再做什么,这是面向过程的思维,你应 ...

  6. java基础面向对象之类与对象

    java基础面向对象之类与对象 2017-01-14 1.面向对象的基本概念 以一种组建化的形式进行代码设计 1)在面向对象程序设计中包含有如下几种特性 •封装性:保护内部结构的安全性 •继承性:在已 ...

  7. Java与面向对象之随感(2)

    我们知道Java语言的一大特性就是相比于c语言和c++语言,其更加安全.那么Java安全性的一个重要保证就是它取消了指针,并且坚决反对数组的出界(c++对当数组超出上限但是还进行读写操作时允许的!), ...

  8. 第二十七节:Java基础面向对象-静态,单例模式,继承详情知识点

    前言 Java基础面向对象-静态,单例模式,继承详情知识点.静态-static关键字,static变量,静态代码块,代码块(不加静态),对象创建过程,单例模式,继承. 静态-static关键字 // ...

  9. Java的面向对象(初涉)

    Java的面向对象(初涉) 面向对象的分析根据抽象关键的问题域来分解系统.面向对象的设计是一种提供符号设计系统的面向对象的实现过程,它用非常接近实际领域术语的方法把系统构造成"现实世界&qu ...

  10. JAVA(一)JAVA基础/面向对象基础/高级面向对象

    成鹏致远 | lcw.cnblog.com |2014-01-23 JAVA基础 1.开发环境搭建 JAVA程序的执行流程 JAVA命令->要使用一个*.class文件(类文件)->通过c ...

随机推荐

  1. javascript 解决默认取整的坑(目前已知的最佳解决方案)

    javascript 解决默认取整的坑(目前已知的最佳解决方案) 复现该问题 js在数字操作时总会取更高精度的结果,例如1234/10结果就是123.4,但是在c或者java中整数除以10的结果还是整 ...

  2. dubbo中出现can not be invoked any more

    具体错误示例如下 从错误看,是客户方发起调用时,dubbo会去检查本地的invoker instance,如果发现invoker已经是destroy status,则直接抛出上面的异常,下面先来说下平 ...

  3. 一、netcore跨平台之 Linux上部署netcore和webapi

    这几天闲着的时候在linux上部署了一下netcore webapi,下面就纪要一下这个过程. 中间遇到不少的坑,心里都是泪啊. 话不多说,开始干活. ------------------------ ...

  4. Vue躬行记(9)——Vuex

    Vuex是一个专为Vue.js设计的状态管理库,适用于多组件共享状态的场景.Vuex能集中式的存储和维护所有组件的状态,并提供相关规则保证状态的独立性.正确性和可预测性,这不仅让调试变得可追踪,还让代 ...

  5. pug参考文档

    1. API express框架的渲染模板有多种选择,官方的例子是Pug,网上找了一下,Pug没有可以参考的中文文档,于是自己动手丰衣足食.翻译水平一般,各位凑合着看吧. 1.1 开始 安装 通过np ...

  6. 【ABP】 动态菜单修改过程asp.netcore+vue

    无论用什么框架,第一件事情就是实现动态菜单,从数据库中读取菜单配置项输出前台,网上翻了一大堆翻译文档,也看了官方英文文档,关键点在于如何实现NavigationProvider和在前端调用abp.na ...

  7. MySQL 5.7 - 通过 BINLOG 恢复数据

    日常开发,运维中,经常会出现误删数据的情况.误删数据的类型大致可分为以下几类: 使用 delete 误删行 使用 drop table 或 truncate table 误删表 使用 drop dat ...

  8. go中的关键字-go(上)

    1. goroutine的使用 在Go语言中,表达式go f(x, y, z)会启动一个新的goroutine运行函数f(x, y, z),创建一个并发任务单元.即go关键字可以用来开启一个gorou ...

  9. 新闻实时分析系统-Flume数据采集准备

    Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集.聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据:同时,Flume提供对数据进行简单处理,并 ...

  10. Redis开发与运维:SDS与embstr、raw 深入理解

    对于上一篇文章,我又自己总结归纳并补充了一下,有了第二篇. 概览 <<左移 开始之前,我们先准备点东西:位运算 i<<n 总结为 i*2^n 所以 1<<5 = 2 ...