面向对象:

  程序由对象构成,每个对象包含对用户公开的特定功能部分(public)和隐藏实现部分(private)。

类:

  构造对象的模板

对象:

  对象的行为 --- 可以对对象施加的操作(方法)

  对象的状态 --- 对象的域的值

  对象的表示 --- 行为相同,但状态不同的对象(equals()方法)

类之间的关系:

  依赖 --- 一个类中使用另一个类的对象

  聚合 --- 两个或两个以上的类组合成一个新的类

  继承 --- 一个类是另一个类的子类

更改器和访问器方法:

   JavaBean中是setter和getter方法。

   更改器用于更改目前对象的状态(对象域的值)

   访问器用于查看目前对象的状态(对象域的值)

用户自定义类:

  class   类名 {

    字段;

    方法;

  }

构造器:

  public   类名 (参数){

    语句;

  }

  1.构造器和类同名

  2.每个类可以有一个以上的构造器

  3.构造器可以有0个,1个,或多个参数

  4.构造器没有返回值

  5.构造器总是伴随着new关键字一起使用

隐式参数和显示参数:

  当字段和方法的参数名相同时,方法中默认使用的参数,使用字段时需要使用this.字段名区别于方法参数

封装(setter and getter 方法):

  使得对象的字段不能直接访问,提高安全性

  一个私有的数据域

  一个公共的域访问器

  一个公共的域更改器

私有方法:

  private 修饰的方法,对外部进行隐藏,不让外部对象直接访问,由类的方法自己调用,可以随意修改实现的方式。

final实例域:

  final修饰的字段,只可以赋值一次,当对象初始化之后便不能在修改。

静态域和静态方法:

  static关键字修饰的字段和方法,直接由类名访问,属于类所有。

  静态常量:  

    static final修饰的变量

  静态工厂方法:

    使用方法直接获取某个类的对象。

重载:

  方法名相同,参数列表不同

对象的初始化:

  1.默认初始化:基本数据类型中,数值型赋值为0或0.0,boolean类型赋值为false ,char类型赋值为/u0000,引用数据类型赋值为null

  2.显示初始化:在构造器中显示的给字段赋值

  3.调用另一个构造器:使用this(参数列表)来调用,this()方法必须位于构造方法的第一行

  4.初始化块:在类成员位置放置一个代码块{},其中对类的字段进行初始化

包:

  为啥使用包:确保类名的唯一性

  类的导入: import  包名.类名

  静态导入:导入包中的静态方法和静态变量等静态资源:    import   static 包名.类名.静态资源

  将包放入类中:package  包名

包的作用域:

  public修饰的方法和字段 ,所有的类都可以使用

  private修饰的方法和字段 ,只有本类可以调用

  protect修饰的方法和字段  , 同一个包中的类和继承的子类可以使用

  无修饰符的,只有同一个包中的类可以访问

类的设计技巧:

  1.一定要保证数据私有

  2.一定要对数据初始化

  3.不要在类中使用过多的基本数据类型

  4.不是所有的域都需要getter setter方法

  5.可以将过多功能的类分解成多个类

  6.类名和方法名尽量见名知意

  7.优先使用final修饰的类:不可变类。

  

  

 

  

02-Java中的对象和类的更多相关文章

  1. 关于Java中的对象、类、抽象类、接口、继承之间的联系

    关于Java中的对象.类.抽象类.接口.继承之间的联系: 导读: 寒假学习JavaSE基础,其中的概念属实比较多,关联性也比较大,再次将相关的知识点复习一些,并理顺其中的关系. 正文: 举个例子:如果 ...

  2. java中的对象和类

    1.类:类是一个模板,它描述一类对象的行为和状态. 一个类可以包含以下类型变量: 局部变量:在方法.构造方法或者语句块中定义的变量被称为局部变量.变量声明和初始化都是在方法中,方法结束后,变量就会自动 ...

  3. java中的对象、类、包、模块、组件、容器、框架、架构的概念入门

    在Java中有那么一些概念:对象.类.包.模块.组件.容器.框架.这些概念都有一个共同的特点,就是[容纳]. 对象(Object) 在Java的世界里,对象是通过属性和方法来分别对应事务所具有的静态属 ...

  4. Java中的对象、类、抽象类、接口的理解

    1.对象 对象是个具体的东西,有着明确的属性特征和行为特征. 例如:你手上牵着的女朋友或男朋友就是个具体的对象. 如图中的苏格兰折耳猫,特征是耳朵向下呈折叠状,有着具体的颜色(你看到的颜色),并且和其 ...

  5. java中的对象,类。与 方法的重载。

    对象: 一切皆为对象.对象包括两部分内容:属性(名词形容词),行为(动词).对象和对象之间是有关系的: 派生,关联,依赖. 类: 对同一类别的众多对象的一种抽象.类,还是用来生成对象的一种模板,对象是 ...

  6. Java中直接输出一个类的对象

    例如 package com.atguigu.java.fanshe; public class Person { String name; private int age; public Strin ...

  7. 将java中Map对象转为有相同属性的类对象(json作为中间转换)

    java中Map对象转为有相同属性的类对象(json作为中间转换) 准备好json转换工具类 public class JsonUtil { private static ObjectMapper o ...

  8. 浅谈Java中的对象和引用

    浅谈Java中的对象和对象引用 在Java中,有一组名词经常一起出现,它们就是“对象和对象引用”,很多朋友在初学Java的时候可能经常会混淆这2个概念,觉得它们是一回事,事实上则不然.今天我们就来一起 ...

  9. 【译】Java中的对象序列化

    前言 好久没翻译simple java了,睡前来一篇. 译文链接: http://www.programcreek.com/2014/01/java-serialization/ 什么是对象序列化 在 ...

  10. java中直接打印对象

    java中直接打印对象,会调用对象.toString()方法.如果没有重写toString()方法会输出"类名+@+hasCode"值,hasCode是一个十六进制数 //没有重写 ...

随机推荐

  1. weblogic 控制台访问速度很慢的解决方案

    实际是JVM在Linux下的bug 他想调用一个随机函数 但取不到 暂时的解决办法是 1)较好的解决办法: 在Weblogic启动参数里添加 “- Djava.security.egd=file:/d ...

  2. Virtio: An I/O virtualization framework for Linux

    The Linux kernel supports a variety of virtualization schemes, and that's likely to grow as virtuali ...

  3. 【腾讯Bugly干货分享】经典随机Crash之一:线程安全

    本文作者:鲁可--腾讯SNG专项测试组 测试工程师 背景 Android QQ 在2016下半年连着好几个版本二灰 Crash 率都很高,如果说有新需求,一灰的 Crash 率高,还能找点理由,可是开 ...

  4. Android开发 - 掌握ConstraintLayout(十一)复杂动画!如此简单!

    介绍 本系列我们已经介绍了ConstraintLayout的基本用法.学习到这里,相信你已经熟悉ConstraintLayout的基本使用了,如果你对它的用法还不了解,建议您先阅读我之前的文章. 使用 ...

  5. 吴恩达机器学习笔记34-模型选择和交叉验证集(Model Selection and Train_Validation_Test Sets)

    假设我们要在10 个不同次数的二项式模型之间进行选择: 显然越高次数的多项式模型越能够适应我们的训练数据集,但是适应训练数据集并不代表着能推广至一般情况,我们应该选择一个更能适应一般情况的模型.我们需 ...

  6. 【详记MySql问题大全集】一、安装MySql

    最近公司要从SqlServer转到MySql,期间在安装环境和数据迁移的过程中,遇到了一些不大不小问题,比如怎么重置密码.怎么设置大小写敏感等等. 这些问题都比较细比较杂,这边解决完可能过几天就忘了, ...

  7. springboot2.0jar包启动异常

    今天碰到一个异常: 08:44:07.214 [main] ERROR org.springframework.boot.SpringApplication - Application run fai ...

  8. android自动化必备之界面元素

    包名&类名 packageName(包名) 应用的身份标识,系统通过包名识别不同的应用,如两个相同包名的应用在安装时候会覆盖 activityName(类名) Activity:android ...

  9. Spring Boot 2.x 启动全过程源码分析(上)入口类剖析

    Spring Boot 的应用教程我们已经分享过很多了,今天来通过源码来分析下它的启动过程,探究下 Spring Boot 为什么这么简便的奥秘. 本篇基于 Spring Boot 2.0.3 版本进 ...

  10. 利用 ELK 搭建 Docker 容器化应用日志中心

    利用 ELK 搭建 Docker 容器化应用日志中心 概述 应用一旦容器化以后,需要考虑的就是如何采集位于 Docker 容器中的应用程序的打印日志供运维分析.典型的比如SpringBoot应用的日志 ...