java基础--⾯向对象详解
1、什么叫⾯向对象?
⾯向对象(Object-Oriented,简称OO)就是⼀种常见的程序结构设计⽅法。
⾯向对象思想的基础是将相关的数据和⽅法放在⼀起,组合成⼀种新的复合数据类型,然后使⽤新创建的复合数据类型作为项⽬的基础。
⾯向对象是⼀个很抽象的概念,它相对⾯向过程⽽⾔。
过程与对象都是⼀种解决问题的思想。
⾯向过程:强调的是功能⾏为,⼀种过程,先⼲啥,再⼲啥;
⾯向对象:将功能封装到对象⾥,强调的是具备某功能的对象;
按照⾯向对象的思想,可以把任何的东西看做对象!
⾯向对象的三个特征:
封装(Encapsulation);
继承(Inheritance);
多态(Polymorphism)。
我的总结:
⾯向过程:强调的是具体的功能实现;(执⾏者)
⾯向对象:强调的是具备功能的对象。(管理者)
、类
类(class)是Java 语⾔的最⼩编程单位,也是设计和实现Java 程序的基础,本部分将深⼊介绍类的相关知识。
类的概念
类是⼀组事物共有特征和功能的描述。类是对于⼀组事物的总体描述,是按照⾯向对象技术进⾏设计时最⼩的单位,也是组成项⽬的最基本的模块。类的概念是抽象的,类似于建筑设计中的图纸,是对于现实需要代表的具体内容的抽象。类只包含框架结构,⽽不包含具体的数据。所以类代表的是总体,⽽不代表某个特定的个体。
我的总结:类是抽象的,对象是具体的,实实在在的!
类的定义:
[修饰符] class 类名{
1~n个构造⽅法;
0~n个字段;
0~n个⽅法
}
定义类,其实就是定义类⾥⾯的对象
对象包含:
状态;(属性)
功能、⾏为;(⽅法)
通过类来描述对象;
状态--------成员变量;
功能、⾏为——⽅法;
Eg:
class Person{
//属性
private String name;
private int age;
private int sal;
//⽅法
public void show(){
System.out.println("个⼈情况:"+name+age+sal);
}
}
、构造⽅法
构造⽅法:⽤来构造类的实例(每⼀个类都默认有⼀个⽆参的构造⽅法,得使⽤new调⽤)字段:类或对象所包含的数据,对类状态的⼀种描述;
⽅法:类或对象的特征或⾏为
作⽤:
给类中的字段进⾏初始化,可以⽤来创建对象。
特点:
⽅法名与类名相同
不⽤定义返回值类型
不需要写return语句
我的总结:
注意:
默认构造⽅法的特点。
多个构造⽅法是以重载的形式存在的。
构造⽅法的重载:(需要哪个就去适配哪个,调⽤哪个)
this([实参]);调⽤当前类的构造⽅法
注意: this([实参]);必须放在构造器的第⼀⾏;
对象的产⽣格式:
类名称 对象名 = new 类名称();
因为有(),所以是⽅法,实际上它就是构造⽅法,并且是⾮私有的构造⽅法。如:CellPhone cp = new CellPhone();
Eg:
class Person{
private String name;
private int age;
private int sal;
public void show(){
System.out.println("个⼈情况:"+name+age+sal); }
public Person(String name) {
super();
this.name = name;
}
public Person(String name, int age) {
super();
this.name = name;
this.age = age;
}
public Person(String name, int age, int sal) {
super();
this.name = name;
this.age = age;
this.sal = sal;
}
}
、static关键字
特点:
随着类的加载⽽加载
优先于对象存在
被所有对象所共享
可以直接被类名调⽤
使⽤注意:
静态⽅法只能访问静态成员
但是⾮静态成员可以访问静态成员;
静态⽅法中不可以使⽤this,super关键字
主⽅法(main)是静态的(可以利⽤类名去调⽤静态的main⽅法,很正常!但是会陷⼊死循环,导致内存溢出,jvm⾃动停⽌!)public static void main(String[] agrs){}
java面向对象的特征有哪些方面可修饰字段,⽅法。
⽤static 修饰的成员表⽰它属于这个类共有,⽽不是属于该类的单个实例。
static 修饰的字段 == 类字段
static 修饰的⽅法 == 类⽅法
没使⽤static修饰的字段和⽅法,成员属于类的单个实例,
不属于类。
没有static 修饰的字段 == 实例字段
没有static 修饰的⽅法 == 实例⽅法
类和实例访问字段和⽅法的语法:
访问类成员: 类.字段 类.⽅法
访问实例成员: 实例.字段 实例.⽅法
我的总结:
static 修饰的字段和⽅法,既可以通过类调⽤,也可以使⽤实例调⽤;
没static 修饰的字段和⽅法,只能使⽤实例来调⽤(建议使⽤:类名来调⽤; 其实在底层,对象调⽤类成员,也会转换类名调⽤)static关键字不能与this,super同时连⽤!
、匿名对象
⼀个没有名字的对象, 创建了⼀个对象出来,没有赋给⼀个变量;
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论