类与对象的关系

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

    • 动物、植物、手机、电脑。。。
    • 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. Mybatis日志源码探究

    一.项目搭建 1.pom.xml <dependencies> <dependency> <groupId>log4j</groupId> <ar ...

  2. ls(list)命令详解及生产使用示例

    文件有文件名与数据,在linux上被分为两个部分:用户数据(user data)与元数据(metadata) 用户数据,即文件数据块(data block),数据块是记录文件真实内容的地方,我们将其称 ...

  3. Java利用线程工厂监控线程池

    目录 ThreadFactory 监控线程池 扩展线程池 扩展线程池示例 优化线程池大小 线程池死锁 线程池异常信息捕获 ThreadFactory 线程池中的线程从哪里来呢?就是ThreadFoct ...

  4. Redis解读(1):Redis安装启动及常见数据类型

    Redis 简介 Redis 是我们在互联网应用中使用最广泛的一个 NoSQL 数据库,基于 C 开发的键值对存储数据库. Redis 这个名字是 Remote Dictionary Service ...

  5. 【项目】手写FTP服务器-C++实现FTP服务器

    X_FTP_server 手写FTP服务器-C++实现FTP服务器 项目Gitee链接:https://gitee.com/hsby/ftp_Server 简介 一个基于libevent的高并发FTP ...

  6. kubernets-java 动态修改deployment 的replicas

    /** * Scale up/down the number of pod in Deployment * * @param deploymentName * @param numberOfRepli ...

  7. Salesforce学习之路(一)几个简单概念

    Salesforce是一款非常强大的CRM(Customer Relationship Management)系统,国外企业使用十分频繁,而国内目前仅有几家在使用(当然,国内外企使用的依旧较多),因此 ...

  8. 为什么 DNS 协议使用 UDP?只使用了 UDP 吗?

    尽人事,听天命.博主东南大学硕士在读,携程 Java 后台开发暑期实习生,热爱健身和篮球,乐于分享技术相关的所见所得,关注公众号 @ 飞天小牛肉,第一时间获取文章更新,成长的路上我们一起进步 本文已收 ...

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

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

  10. 所谓 ICMP,不过将军与士卒而已

    什么是 ICMP 协议 关于这点我们在 IP 协议那篇文章中提过一嘴,IP 协议作为一种提供不可靠数据交付的网络层协议,在传输的过程中,其 IP 数据报可能会发生丢失.重复.延迟和乱序等各种情况, 但 ...