面向对象,类,对象,GC垃圾回收器,private关键字
一、面向对象
是一种编程思想
1.三大特征
封装、继承、多态
二、类 class
类是一类事物的抽象
属性 --事物的特征
方法 --事物的行为
三、对象
是一类事物中具体的个体
对象类型 对象名 = new 对象类型();
获取属性:对象名.属性
给属性赋值:对象名.属性 = 值
对象名.方法()
一个.java文件中可以包含多个类,但是只能有一个类被public修饰,
* 被public修饰的类的名字就是.java的文件名
*
* .class文件从硬盘中加载进入内存中,
* JVM虚拟机自动编译并调用main()方法到栈内存中。
四、GC 垃圾回收器:
如果堆内存中的对象没有任何的变量指向该对象,那么程序将无法再访问该对象,
GC会定时自动回收该对象,并且释放该对象所占的内存区。
当对象没有任何引用指向时,java的垃圾回收器GC会定时自动回收该对象,
并且释放该对象所占的内存区,我们也可以手动调用 System.gc ( ) ;
提醒GC来回收,但是是否来回收还是看gc自己的安排。
提醒GC回收垃圾:
System.gc ( ) ;
package test.day05;
// 创建类和对象
/* 一个.java文件中可以包含多个类,但是只能有一个类被public修饰,* 被public修饰的类的名字就是.java的文件名* * .class文件从硬盘中加载进入内存中,* JVM虚拟机自动编译并调用main()方法到栈内存中。*/
public class Test1_Class {public static void main(String[] args) {// 4、通过new关键字创建对象// p1是引用类型的变量,保存着内存分配的地址值Phone p1 = new Phone();// 5. 调用方法、功能p1.call();p1.message();p1.music();// 7. 给属性赋值p1.brand = "小米";p1.color = "白色";p1.price = 999.9;p1.size = 5.5;// 6. 获取元素值System.out.println(p1.brand);// null - 小米System.out.println(p1.color);// null - 白色System.out.println(p1.price);// 0.0 - 999.9System.out.println(p1.size); // 0.0 - 5.5Phone p2 = new Phone();p2.brand = "华为";p2.color = "红色";System.out.println(p2.brand);System.out.println(p2.color);/** 当对象没有任何引用指向时,那么程序将无法访问该对象,* java的垃圾回收器GC会定时自动回收该对象,* 并且释放该对象所占的内存区,* 我们也可以手动调用 System.gc ( ) ; * 提醒GC来回收,但是是否来回收还是看gc自己的安排。System.gc ( ) ;*/p2 = null;System.gc();System.out.println(p2);}
}
// 1. 用来描述生活中的手机这一类事物 特征+行为
// 类是一类事物的抽象
class Phone{// 2.特征 -- 成员变量/属性String color;// 颜色String brand;// 品牌double size;// 尺寸double price;// 价格// 3.行为 -- 成员方法public void call() {// 打电话System.out.println("calling...");}public void message() {// 发短信System.out.println("sending...");}public void music() {// 听音乐System.out.println("listening...");}
}
五、private 私有的
修饰属性、方法,只能在本类中访问
提供公开的访问方式来访问私有化属性或方法
属性私有化,方法公开化
// 访问权限修饰符 public-公开的 private-私有的
// private 可以修饰属性--成员变量 也可以修饰方法--成员方法
// 只能在本类中访问
// 提供公开的访问方式来访问私有化属性或方法
// 属性私有化,方法公开化#
// 当方法被私有后,只能在本类中访问
// 快捷键生成 getXxx setXxx 方法
// 右键 -> source -> Generate Getters and Setters
package test.day05;
// 访问权限修饰符 public-公开的 private-私有的
// private 可以修饰属性--成员变量 也可以修饰方法--成员方法
// 只能在本类中访问public class Test3_Prevate {public static void main(String[] args) {Student s = new Student();
// s.name = "张三"; // name 被私有化了,无法访问
// System.out.println(s.name);// name 被私有化了,无法访问System.out.println(s.getName());//调用get方法获取值s.setName("李四");// 调用set方法设置值System.out.println(s.getName());s.setAge(16);System.out.println(s.getAge());s.setSex('男');System.out.println(s.getSex());s.study();}
}
class Student{// 使用 private 修饰的属性,只能在当前类使用private String name;// 提供公开的方法,用来给外界获取值,就是 getXxx();public String getName() {return name;}// 提供setXxxx();用来给外界设置值public void setName(String n) {name = n;}private int age;public int getAge() {return age;}public void setAge(int a) {age = a;}// 快捷键生成 getXxx setXxx 方法// 右键 -> source -> Generate Getters and Setters// 提供公开的访问方式来访问私有化属性或方法// 属性私有化,方法公开化#private char sex;public char getSex() {return sex;}public void setSex(char sex) {this.sex = sex;}// 当方法被私有后,只能在本类中访问private void sleep() {System.out.println("睡觉");}public void study() {System.out.println("学习");sleep();// 对外界 间接提供睡觉的功能}}
面向对象,类,对象,GC垃圾回收器,private关键字相关推荐
- java常见的gc回收器_一篇文章让你了解GC垃圾回收器
简单了解GC垃圾回收器 了解GC之前我们首先要了解GC是要做什么的?顾名思义回收垃圾,什么是垃圾呢? GC回收的垃圾主要指的是回收堆内存中的垃圾对象. 从根对象出发,所有被引用的对象,都是存活对象 其 ...
- Java -GC 垃圾回收器
GC 垃圾回收器: 简介:GC 垃圾回收器是 JVM 中自动内存管理机制的具体实现,在 HotSpot 虚拟机中 GC 的工作主要划分为两 大类,分别是内存动态分配和垃圾回收,在内存执行分配之前,GC ...
- [Java基础]-- Java GC 垃圾回收器的分类和优缺点
关于Java的垃圾回收器,一直是个头疼的问题,这里简要说明下分类和优缺点,供选择使用. 一.JVM GC 垃圾回收器类型 JVM的垃圾回收器大致分为六种类型: 1.串行:垃圾回收器 (Serial G ...
- C++ 面向对象(类对象)
C++ 面向对象(类&对象) 转载于:https://www.cnblogs.com/guozepingboke/p/10823025.html
- 如何获取GC(垃圾回收器)的STW(暂停)时间?
前言 在现代的容器化和微服务应用中,因为分布式的环境和错综复杂的调用关系,APM(Application Performance Monitoring 应用性能监控)显得尤为重要,它通过采集应用程序各 ...
- JAVA垃圾回收器源码_浅谈关于Java的GC垃圾回收器的一些基本概念
一.基本回收算法 1. 引用计数(Reference Counting) 比较古老的回收算法.原理是此对象有一个引用,即增加一个计数,删除一个引用则减少一个计数.垃圾回收时,只用收集计数为0的对象.此 ...
- 面向对象(类/对象/封装/继承/static/内存类加载)
>面向对象:万物皆对象: >类和对象: 从代码的角度来说:类是代码的载体. 从逻辑角度来说:类是静态文件:对象是内存中的地址: 形象的来说,类就是一个模具,是用来生产对象的:对象是基于类产 ...
- 数组的排序面向对象类对象0708
一.数组的排序 对数组中的数字按照从小到大或从大到小进行排序 在不断的发展设计中逐步演练出排序的方式方法,称为排序算法 1.排序算法 排序算法有很多种,每一种都有各自排序的规则[算法] 冒泡排序算法 ...
- JAVA 面向对象 类 对象 封装
面向对象概念 在学习面向对象之前,我们可以先了解一下面向过程. 面向过程是一种编程思想,它强调的是过程,意思是我们做任何事,都需要亲力亲为. 面向对象也是一种编程思想,相对于面向过程,我们的身份可以由 ...
最新文章
- 权限管理----角色管理
- 9.3 图像变换(尺寸变换、旋转变换、灰度变换和数据类型变换)
- syn flood dos
- NewCode----数串
- 占用系统资源测试_高频性能测试面试题15道
- Rancher获4000万美元D轮融资,推动计算无处不在
- python与中文的那点事
- java参考文献英文_java论文英文的参考文献
- Maven项目无法引入 Maven Dependencies Libraries 问题
- 计算机鼠标的发展历史,键盘和鼠标的发展史是什么?
- 各大日语学习网站整理
- 关于计算机专业演讲稿,计算机专业组长竞聘演讲稿
- LeetCode(Python)—— 相同的树(简单)
- Spring MVC异常统一处理(异常信息的国际化,日志记录)
- 也许事情本身的意义,没你想的那么重要。
- C++57个入门知识点_17 类的访问权限及C语言模拟类的封装(类的私有权限突破方法:编译期进行权限检查,运行期通过指针修改类的私有成员变量;利用函数指针对结构体中成员变量进行修改;CPU大小尾排列)
- 熟读这5个开源项目就是合格的GO语言工程师
- js动态隐藏和展示页面元素的方法
- 活动预告 | 2023 Meet TVM 开年首聚,上海我们来啦!
- asp毕业设计——基于asp+access的网络办公系统设计与实现(毕业论文+程序源码)——网络办公系统
热门文章
- 【jQuery】【购物车页面】实现近乎完美的联动交互(附GIF)
- java编译找不到符号_编译java代码时报错找不到符号
- 工具推荐-Colab介绍与使用方法
- go 自动文档生成 如何写高大上的 godoc(Go 文档)
- 爱奇艺数据仓库平台和服务建设实践
- Github全面详解-20	什么是开源
- win2003服务器安全配置技巧【汇集】
- HTML5七夕情人节表白网页制作【浪漫的空中散落的花瓣3D相册】HTML+CSS+JavaScript 3D动态相册源码素材 html生日快乐祝福网页制作
- CSS之100%和100vh的区别
- 矩阵教程之一:随机矩阵