java 构造器 血药主题_Day08-面向对象编程,Java构造器
面向对象编程
Java核心思想:oop(Object-Oriented Programming)
本质:以类的方式组织代码,以对象的组织(封装)数据
三大特性:
封装
继承
多态
面向过程
步骤清晰简单,第一步该做什么,第二步该做什么
处理一些简单的问题
面向对象
分类的思维模式,将问题分类
适合处理复杂的问题
先有类再有对象,类是对象的模板,对象是类的实例化
方法调用回顾
静态方法
非静态方法
public class Main{//包含主方法的类
public static void main(String[] args){
Student.test();//输出1,静态方法可以直接调用
Student.test1();//报错,非静态方法得实例化后才能调用
Student a = new Student();
a.test1();//输出2
}
}
public class Student{//定义了一个学生类
public static void test(){//定义了一个静态方法
System.out.println("1");
}
public void test1(){
System.out.println("2");
}
}
静态方法只能调用静态方法
public class Main{
public static void main(String[] args){
}
public void a(){
b();
}
public void b(){
c();
}
public static void c(){
d();//错误,static定义的方法会随着类一起加载,而非静态方法得实例化后才会加载,调用未加载的方法,错误
}
public void d(){
e();
}
public vodi e(){}
}
Java的值传递和引用传递
值传递
public class Main{
public static void main(String[] args){
int a = 1;
test(a);//输出值为1,方法中并未返回值
}
public static void test(int a){
a=10;
}
}
引用传递(本质还是值传递)
public class Main{
public static void main(String[] args){
Student a = new Student();
System.out.println(a.name);//输出为null
change(a); //这一步将对象a传递给方法change
System.out.println(a.name);//输出为陈陈陈
}
public static void change(Student a){
a.name="陈陈陈" //修改传递进来的对象a中的name属性
}
}
public class Student{ //定义了一个学生类,有一个name属性
String name;
}
类与对象的关系
类
类是一种抽象数据类型,是对一类事物的整体描述或者定义,但不代表某一个具体事物
如:手机,宠物
对象
对象是抽象概念的具体实例
如:小米手机,旺财等
public class Main{
public static void main(String[] args){
Student student = new Student();
student.name="陈陈陈";
student.study();
}
}
public class Student{
String name;
int age;
public void study(){
System.out.println(this.name+"正在好好学习");
}
}
构造器
与类名相同的方法,没有返回值
alt + insert快捷创建构造器
作用
给属性赋初始值,使用new创建对象本质上是在调用构造器
无参构造与有参构造
public class Main{
public static void main(String[] args){
Student student = new Student();
System.out.println(student.name);//如果没有赋值,应当输出null,现在输出了陈陈陈
Teache teacher =new Teacher('陈琛琛'); //有参构造器必须输入对应的值,不然报错
}
}
public class Student{
String name;
public Student(){
this.name = "陈陈陈";
}
}
public class Teacher{
String name;
public Teacher(String name){
this.name=name;
}
}
java 构造器 血药主题_Day08-面向对象编程,Java构造器相关推荐
- java 构造器 血药主题_java中的构造器
构造器是什么 1.构造器,也称构造方法.构造函数.作用是构造出来一个类的实例,确保对象得到初始化. 2.构造器的格式: 权限修饰符 类名(无参/有参){}. 3.根据有无参数,可分为无参构造 和有参构 ...
- Java基础学习——第六章 面向对象编程(下)
Java基础学习--第六章 面向对象编程(下) 一.关键词:static 1. static关键字的引入 当我们编写一个类时,其实就是在描述其对象的属性和行为,而并没有产生实质上的对象,只有通过new ...
- java学习笔记-第八章:面向对象编程(中级部分)
第八章:面向对象编程(中级部分) 总体内容 IDEA IDEA介绍 ECLIPSE介绍 IDEA使用 破解IDEA2020.2.2 IDEA工作界面介绍 IDEA调整代码,导航栏的字体大小,主题颜色, ...
- 【java学习】 面向对象编程+java购物车系统
文章目录 一.设计对象 二.内存机制 三.购物车系统 四.构造器 构造器 this关键字的作用 一.设计对象 类和对象是什么? 类:是共同特征的描述(设计图); 对象:是真实存在的具体实例; 如何设计 ...
- java class对象创建时机_Java面向对象编程-类的声明周期
第十章 类的生命周期 10.1 Java虚拟机及程序的生命周期 当通过java命令运行一个Java程序时,就启动了一个Java虚拟机进程.Java虚拟机进程从启动到终止的过程,称为Java虚拟机的生命 ...
- 面对对象课程设计报告java,面向对象编程 JAVA编程综合实验报告.doc
PAGE \* MERGEFORMAT 20 成绩: JAVA编程B综合实验报告 实验名称:面向对象编程 实验时间:2012年 5月 31日星期四 JAVA编程B综合实验报告 一.实验名称 面向对象编 ...
- python编程求导数_面向对象编程 —— java实现函数求导
首先声明一点,本文主要介绍的是面向对象(OO)的思想,顺便谈下函数式编程,而不是教你如何准确地.科学地用java求出函数在一点的导数. 一.引子 defd(f) :defcalc(x) : dx= 0 ...
- B站韩顺平java学习笔记(六)--面向对象编程章节
目录 一.类和对象 1.定义及区别 2.对象内存布局 3.属性/成员变量 (1)基本介绍 (2)注意事项和细节说明 (3)访问属性 4.对象 (1)创建对象 (2)对象分配机制 (3)Java创建对 ...
- java 求导函数_面向对象编程 —— java实现函数求导
文章目录 首先声明一点,本文主要介绍的是面向对象(OO)的思想,顺便谈下函数式编程,而不是教你如何准确地.科学地用java求出函数在一点的导数. ★引子 defd(f) :defcalc(x) : d ...
- java 以一个例子来理解面向对象编程思想
在面向对象的编程中,面向对象的应用是检验你对现实中实际物体和及其关系的抽象能力.在实际编程过程中,你的能力并不是你掌握了多少新的技术,而是对你当前问题的认识的深度,当你理解的足够深的时候,你的框架就出 ...
最新文章
- 如何通过交货单把B库存发出
- 浅谈企业MES与ERP系统集成
- SAP Spartacus build error之后的retrigger方式
- MSDN-MDX#001 - 多维表达式 (MDX) 参考
- 文件上传input简便美化方案
- python ctypes 回调函数_如何用Python中的ctypes创建回调函数?
- 初识 Node.js
- react刷新页面_【跟着官网学React】Hello World
- Git Bash使用详细教程
- php版wap浏览器,PHP 检测手机浏览器的代码
- 京东商城逆势融资B2C成投资热土
- linux自动任务计划任务,「linux下的计划任务——只执行一次的定时任务」- 海风纷飞Blog...
- 奇迹mu修改服务器名,奇迹MU 红名设置调整方案说明
- 动物识别系统的规则库
- 漫步者的蓝牙耳机和南卡耳机哪个好?半入耳式耳机对比!
- 【网课平台】Day16.项目优化:压测、加缓存优化与分布式锁
- Hexo 搭建个人博客 基础配置及实操
- 《黑镜》第一季观后感
- Web Of Science检索页面错误信息修改申请方法
- 大数据之保险行业的领导驾驶舱到底怎么做!附上模板