总结1---

一、了解面向对象

面向对象:以结果为中心,不关注具体的过程,更符合现代人的思考方式

静态属性:描述一个对象的固有的特征,一般是一个名词

动态方法:能干吗?一般是一个动词。吃饭,睡觉,运动

类和对象的关系:

类:具有相同属性和方法的对象的集合

对象:用来描述一个实实在在的个体,由属性(固有的属性,一般是一个名词)和方法(动词)组成

类和对象的关系:

类是抽象的,对象是具体的

类是具有相同属性和行为(方法)的对象的集合

对象是类的一个实例,是一个具体的实体,是由属性和方法构成的

创建类和对象:

1、创建一个类(属性和方法)

2、通过这个类创建对象

3、使用对象名调用属性和方法,对象名.属性名,对象名.方法名()

方法:

方法的定义:

方法定义类的某种行为(或功能),是功能的实现

方法五要素:

修饰符,返回值类型,方法名,参数列表,方法体

有返回值:

如果方法有返回值,方法中必须使用关键字return返回某个值,返回值类型为该值的类型,且返回值只能有一个。

return的作用:结束方法,返回结果。

注意:当调用有返回值的方法时,需要定义一个变量接受

如果方法没有返回值,返回值类型为void  

有返回值:
public String getName(){
	return name;
}

无返回值
public void show(){
       System.out.println("姓名:" + name + ",年龄:" + age);
}

无参方法:

访问修饰符  返回类型  方法名() {
        //方法的主体
}
public void show(){
       System.out.println("姓名:" + name + ",年龄:" + age);
}

有参方法:

访问修饰符  返回类型  方法名(<形式参数列表>) {
        //方法的主体
}

有参方法的调用:调用有参方法时,必须要传递对应类型的参数,否则报错

构造方法:

//学生类
public class Student {
	
	//属性
	String name;
	int age;
	String sex;

	//系统默认的无参构造方法,写和不写他都是存在的
	public Student() {
	}
	
	//有参构造方法,创建对象的时候就已经给了初始值了
	public Student(String name, int age, String sex) {
		this.name = name;
		this.age = age;
		this.sex = sex;
	}
}

作用:创建对象,初始化对象

特点:

1、无参构造方法,与类同名,不含返回类型。如果类中没有显示的构造方法,系统会给出默认的无参构造方法。

2、构造方法一般都是public的,才能被系统调用。

3、当成员变量(属性)和方法参数同名时,一般使用this表示当前对象,如:this.name = name;

4、构造方法经常用于程序初始化工作

5、当类有了带参构造方法之后,系统不再自动生成默认的无参构造方法,若使用需重新定义

要求:如果一个类中有带参数的构造方法时,必须要定义无参的构造方法

6、构造方法只能用于创建对象时,不能在程序中像调用其他方法一样调用它,但是可以用this()的形式在其他构造方法中调用它,注意this()必须在第一行。

构造方法和普通方法的区别:

构造方法访问修饰符一般是public, 一般方法根据实际情况选择修饰符

构造方法没有返回值类型,一般方法要么无返回值-void,要么有返回值

方法名与类同名,一般方法见名思意,遵循驼峰命名规则

构造方法的方法体是对象的初始化代码,一般方法是功能的实现

调用方式不一致,普通方法需要使用对象来调用,构造方法是new, this, super

方法重载:

方法重载的判断标准:同类同名不同参,与其他无关。(不同参:不同的参数列表:个数不同,类型不同,顺序不同)

成员变量和局部变量:

成员变量是属于类的变量,其实就是类中的属性,类中的每一个方法都可以共享;

局部变量就是定义在某个方法中的变量,只能在定义的方法中访问,其他的方法不能共享;

成员变量和局部变量的区别:

1:定义位置不同

成员变量:定义在类中的变量,属于类

局部变量:定义在方法中的变量,属于方法

2:作用域不同

成员变量:属于类,类中的每一个方法都可以使用

局部变量:属于方法,只能在某一个方法中使用

3:初始值不同

成员变量:有默认的初始值,在加载类的时候,就会给成员变量赋值(默认值)

局部变量:没有初始值,必须初始化之后才可以使用

4:生命周期不同

成员变量:属于类,随着对象的创建而创建,随对象的消失而消失- 垃圾回收器

局部变量:属于方法,随着方法的调用而创建

注意:

1:在同一个类中,成员变量和局部变量同名时,局部变量具有更高的优先级

2:在方法的参数列表中的参数,也是局部变量

访问权限修饰符:

其权限控制的大小情况是这样的:public > protected > default(包访问权限) > private 

1、public: 所修饰的类、变量、方法,在任何地方均具有访问权限;
2、protected: 这种权限是为继承而设计的,protected所修饰的成员,对所有子类是可访问的,但只对同包的类是可访问的,对外包的非子类是不可以访问;
3、包访问权限(default): 只对同包的类具有访问的权限,外包的所有类都不能访问;
4、private: 私有的权限,只对本类的方法可以使用;其他地方均不能访问

static修饰符:

static表示“全局”或者“静态”的意思,用来修饰成员变量(属性)和成员方法(方法),也可以形成静态static代码块

被static修饰的成员变量和成员方法独立于该类的任何对象。也就是说,它不依赖类的实例,被类的所有实例对象共享

static修饰的成员变量和成员方法习惯上称为静态变量和静态方法static修饰的代码块表示静态代码块

static代码块

static 代码块,是在类中独立于类成员的 static 语句块,可以有多个,位置可以随便放,它不在任何的方法体内,JVM 加载类时会执行这些静态的代码块,如果 static 代码块有多个,JVM 将按照它们在类中出现的先后顺序依次执行它们,每个静态代码块只会被执行一次。

静态代码块执行的时机:

静态代码块在对象创建之前执行,每创建一个对象都会执行一次构造方法。而每个静态代码块只会被执行一次。第一次创建对象之前

static变量,静态变量

按照是否静态的对类成员变量进行分类可分两种:一种是被static修饰的变量,叫静态变量或类变量;

另一种是没有被static修饰的变量,叫实例变量。实例变量必须通过对象来调用。

静态变量特点:

1、被static修饰的变量静态变量,非静态变量叫实例变量

2、在内存中只有一个,在加载类的时候创建,被所有方法和对象共享

3、其他类中,可以直接通过类名访问(可以通过类名直接调用)

static方法,静态方法

静态方法就是被static修饰的方法,没有被static修饰的方法称为实例方法,实例方法必须要对象才可以调用,

静态方法可以直接通过类名调用,任何的实例也都可以调用

静态方法特点:   

  1. 静态方法中不能使用this和super,this当前对象
  2. 不能直接访问所属类的实例变量和实例方法 ,  面试题,静态方法能不能访问非静态资源? - 可以的
  3. 可直接访问类的静态变量和静态方法,静态能够调用静态资源,不能直接调用非静态资源
  4. 可直接通过类名.方法名访问
  5. 规定:静态只能调用静态,非静态只能调用非静态

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值