标签:01 name Person 对象 构造 面向对象 new public
什么是面向对象
-
面向过程和面向对象
*面向过程:步骤清晰简单
*面向对象:物以类聚,分类的思维模式,思考问题首先会解决问题需要哪些分类,然后对这些分类进行单独思考。
-
面向对象适合处理的复杂的问题
对于描述复杂的事物,为了从宏观上把握,从整体上合理分析,我们需要使用面向对象的思路来分析整个系统。但是,具体到微观操作,任然需要面向过程的思路去处理
面向对象编程(oop)
-
面向对象编程的本质是:以类的方式组织代码,以对象的组织(封装)数据
-
抽象
-
三大特征
*封装
*继承
*多态
-
从认识角度考虑是先有对象后有类。对象,是具体的事物。类,是抽象的,是对对象的抽象
-
从代码运行角度考虑是先有类后有对象,类是对象的模板
类与对象的关系
-
类是一种抽象的数据类型,它是对某一类事物的整体描述/定义,但是并不能代表某一具体的事物
-
对象是抽象概念的具体实例
创建和初始化对象
-
使用new关键字创建对象
使用new关键字创建的时候,除了分配内存空间之外,还会给创建好的对象进行默认初始化以及对类中构造器的调用。
//一个项目应该只存在一个main方法
public class Application {
public static void main(String[] args) {
//类是抽象的,需要实例化
//类实例化后会返回一个自己的对象
//student对象就是一个Student类的具体实例
Student xiaoming = new Student();
Student xiaohong = new Student();
xiaoming.name="小明";
xiaoming.age=3;
System.out.println(xiaoming.name);
System.out.println(xiaohong.age);
xiaohong.name="小明";
xiaohong.age=3;
System.out.println(xiaohong.name);
System.out.println(xiaohong.age);
}
}
//学生类 类里面有属性和方法
public class Student {
//属性:字段
String name;//默认是null
int age;//默认是0
//方法
public void study(){
//this代表当前这个类
System.out.println(this.name+"在学习");
}
//学程序好?对世界进行个更好的建模!
}
-
类中的构造器也称为构造方法,是在进行创建对象的时候必须要调用的。并且构造器有以下两个特点:
-
必须和类的名字相同
-
必须没有返回类型,也不能写void
public class Application {
public static void main(String[] args) {
//new实例化了一个对象
Person person = new Person();
System.out.println(person.name);//jianqingshan
}
/*构造器:
1.和类名相同
2。没有返回值
作用:
1.new 本质在调用构造方法
2.初始化对象的值
注意点;
1,定义有参构造之后,如果想用无参构造,显示的定义一个无参构造
Alt+insert生成一个构造器
this.是当前类后面等于对象值
*/
//java--->class
public class Person {
//一个类即使什么都不写,他也会存在一个构造器
//显示的定义构造器
String name;
//实例化初始值
//无参构造
//1.使用new关键字,必须要有构造器,本质是在调用构造器
//2.构造器用来初始化值
//快捷键alt+insert生成一个构造器
public Person(){
this.name="jianqingshan";
}
//有参构造:一旦定义了有参构造,无参构造就必须显示定义
public Person(String name){
this.name=name;
}
}
简单小结类与对象
/*
类:抽象的,实例化出来
1.类与对象
类是一个模板:抽象,对象是一个具体的实例
2.方法
定义:调用
3.对象的引用
引用类型:基本类型(8)
对象是通过引用来操作的:栈--->堆(地址)
4.属性:字段Field 成员变量
默认初始化:
数字:0 0.0
char:u0000
boolean:false
引用:null
修饰符 属性类型 属性名=属性值!
5.对象的创建和使用
- 必须使用new关键字创建对象,必须使用构造器 Person 见青山 =new Person();
- 对象的属性 jianqingshan.name
- 对象的方法 jianqingshan.sleep()
6.类
静态的属性 属性
动态的行为 方法
封装 继承 多态
*/
标签:01,name,Person,对象,构造,面向对象,new,public 来源: https://www.cnblogs.com/xuying-35/p/15083911.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。