类与对象的关系

  • 类是一种抽象的数据类型,它是对某一类事物整体描述和定义,但是不能代表某一个具体的事物

    • 动物、植物、手机、电脑。。。
    • Person类,Pet类,Car类,这些类都是用来描述和定义某一类具体事物应该具备的特点和行为
  • 对象是抽象概念的具体实例

    • 张三就是人的一个具体实例,张三家里的旺财就是狗的一个具体实例
    • 能力体现出特点,展现出功能的是具体的实例,而不是一个抽象的概念

创建与初始化对象

  • 使用new关键字创建对象

  • 使用new关键字创建的时候,除了分配内存空间之外,还会给创建好的对象进行默认初始化 以及 对类中构造器的调用

  • 类中的构造器也称为构造方法,是在进行创建对象的时候必须要调用的。并且构造器有以下两个特点:

      1. 必须和类的名字相同
      2. 必须没有返回类型, 也不能写void
  • 构造器必须要掌握

构造器:(特殊的方法--->构造方法)
1. 和类的名字相同
2. 没有返回值
作用:
1. new的本质是在在调用构造器
2. 初始化对象的值
注意点:
1. 定义有参构造之后,如果想使用无参构造,显示的定义一个无参构造 快捷键:Alt + Insert
this. (等价于 类名字. )
public class Person {

    //一个类即使什么都不写,它也会存在一个方法
//显示的定义构造器
String name;
int age; //实例化初始值
// 1. 使用new关键字,必须要有构造器。(本质是在调用构造器)
// 2. 用来初始化值
public Person(){ }
//有参构造:一旦定义了有参构造,就必须定义无参构造
public Person(String name) {
this.name = name;
}
public Person(String name, int age) {
this.name = name;
this.age = age;
}
}
/*
public static void main(String[] args) {
//实例化了一个对象.
Person person = new Person("二哈");
System.out.println(person.name);
}
*/

创建对象的内存分布

实例分析:

public class Pet {
public String name;
public int age;
//无参构造
public void shout(){
System.out.println("叫了一声小子,别跑");
}
}
/*
public static void main(String[] args) { Pet dog = new Pet();
dog.name ="黑豹";
dog.age = 3;
dog.shout(); System.out.println(dog.name);
System.out.println(dog.age);
}
*/

课后总结:

1.  类与对象
类是一个模板:抽象 ; 对象是一个具体实例。
2. 方法:定义、调用
3. 对象的引用
引用类型:基本类型(8)
对象都是通过引用来操作的: 栈---->堆
4. 属性:字段 field 成员变量
默认初始化:
数字:0, 0.0
char:u0000
boolean :alse、
引用类型:null 属性的定义:修饰符 属性类型 属性名 = 属性值;
5. 对象的创建使用
- 必须是使用new关键字来创建对象,构造器 Person dong = new Person();
- 对象的属性 dong.name;
- 对象的方法 dong.study();
6. 类
静态的属性 属性
动态的行为 方法

java基础——创建对象与内部分布的更多相关文章

  1. java基础篇 之 构造器内部的多态行为

    java基础篇 之 构造器内部的多态行为 ​ 我们来看下下面这段代码: public class Main { public static void main(String[] args) { new ...

  2. [Java面经]干货整理, Java面试题(覆盖Java基础,Java高级,JavaEE,数据库,设计模式等)

    如若转载请注明出处: http://www.cnblogs.com/wang-meng/p/5898837.html   谢谢.上一篇发了一个找工作的面经, 找工作不宜, 希望这一篇的内容能够帮助到大 ...

  3. 转载:[Java面经]干货整理, Java面试题(覆盖Java基础,Java高级,JavaEE,数据库,设计模式等)

    原文:http://www.cnblogs.com/wang-meng/p/5898837.html 一:继承.抽象类与接口区别.访问控制(private, public, protected,默认) ...

  4. JAVA基础知识总结:一到二十二全部总结

    >一: 一.软件开发的常识 1.什么是软件? 一系列按照特定顺序组织起来的计算机数据或者指令 常见的软件: 系统软件:Windows\Mac OS \Linux 应用软件:QQ,一系列的播放器( ...

  5. 尚学堂JAVA基础学习笔记

    目录 尚学堂JAVA基础学习笔记 写在前面 第1章 JAVA入门 第2章 数据类型和运算符 第3章 控制语句 第4章 Java面向对象基础 1. 面向对象基础 2. 面向对象的内存分析 3. 构造方法 ...

  6. Java基础面试题1

    http://blog.csdn.net/jackfrued/article/details/44921941 1.面向对象的特征有哪些方面?  答:面向对象的特征主要有以下几个方面: - 抽象:抽象 ...

  7. java基础知识 + 常见面试题

    准备校招面试之Java篇 一. Java SE 部分 1.1 Java基础 1. 请你解释Object若不重写hashCode()的话,hashCode()如何计算出来的? Object 的 hash ...

  8. 2.7w字!Java基础面试题/知识点总结!(2021 最新版)

    这篇<Java 基础知识总结>是 JavaGuide 上阅读量最高的一篇文章,由于我对其进行了重构完善并且修复了很多小问题,所以,在博客园再同步一下! 文章内容比较多,目录如下: 基础概念 ...

  9. 面渣逆袭:Java基础五十三问,快来看看有没有你不会的!

    大家好,我是老三, 面渣逆袭 系列继续.这节我们回到梦开始的地方--Java基础,其实过了萌新阶段,面试问基础就问的不多,但是保不齐突然问一下.想一下,总不能张口高并发.闭口分布式,结果什么是面向对象 ...

随机推荐

  1. MarkDown-简单学习

    标题 注意:首部添加1-6个"#"号来设置标题大小: 字体 1:粗体 (注意:首尾同时添加2个"*"号来设置) 2:斜体 (注意:首尾同时添加1个"* ...

  2. EFCore3.1+编写自定义的EF.Functions扩展方法

    前言 本文主要是讲解EF Core3.0+ 如何实现自定义的数据库扩展函数 虽然EF.Functions 提供了很多数据库函数,但是并不全面.比如加密解密.. 这样的话 我们就需要自己扩展这些数据库函 ...

  3. Spring Cloud微服务如何实现熔断降级?

    熔断限流概述 在基于Spring Cloud的微服务架构体系下,按照系统功能边界的不同划分,原先大而全的系统会被拆分为多个不同的微服务,而相应的微服务会提供一组功能关联的服务接口,并向系统中的其他微服 ...

  4. 机器学习--Micro Average,Macro Average, Weighted Average

    根据前面几篇文章我们可以知道,当我们为模型泛化性能选择评估指标时,要根据问题本身以及数据集等因素来做选择.本篇博客主要是解释Micro Average,Macro Average,Weighted A ...

  5. Java第三章基础学习课后题练习

    小结:final 类型 变量名 = 数值 定义常量使用 变量的原则*** 一定要"先声明,后使用",变量使用前必须先声明.这点就没php好玩:两种键盘输入方式InputStream ...

  6. 1W字|40 图|硬核 ES 实战

    前言 上篇我们讲到了 Elasticsearch 全文检索的原理<别只会搜日志了,求你懂点检索原理吧>,通过在本地搭建一套 ES 服务,以多个案例来分析了 ES 的原理以及基础使用.这次我 ...

  7. 001 - 使用鸿蒙WebView创建简单浏览器 step 1

    打开官网,找到WebView的文档(模拟器不支持) 鸿蒙webview的开发指南(原始链接,方便大家识别并点击):https://developer.harmonyos.com/cn/docs/doc ...

  8. redhat7.6 更换 centos7 YUM

    使用yum 遇到如下错误. This system is not registered to Red Hat Subscription Management. You can use subscrip ...

  9. 手写Spring AOP,快来瞧一瞧看一看撒!

    目录 AOP分析 Advice实现 定义Advice接口 定义前置.后置.环绕和异常增强接口 Pointcut实现 定义PointCut接口 定义正则表达式的实现类:RegExpressionPoin ...

  10. 记一次 医院.NET公众号系统 线程CPU双高分析

    一:背景 1. 讲故事 上周四有位朋友加wx咨询他的程序出现 CPU + 线程 双高的情况,希望我能帮忙排查下,如下图: 从截图看只是线程爆高,没看到 cpu 爆高哈,有意思的是这位朋友说他: 一直在 ...