黑马程序员-Java面向对象1


----------- android培训java培训、java学习型技术博客、期待与您交流! ------------



1.    Java中的参数传递问题。(理解内存图)

基本类型:形式参数的改变对实际参数没有影响。

引用类型:形式参数的改变直接影响实际参数。



2.    面向对象(理解)

2.1面向对象:

是基于面向过程的一种思想。

面向过程:以函数为基础,关注实现过程。

面向对象:以对象为基础,关注实现结果。

2.2面向对象的思想特点:

A:是一种更符合人们思考习惯的思想。

B:把复杂的事情简单化了。

C:把我们从执行者变成了指挥者。

举例:买电脑。洗衣,做饭。旅游。把大象装进冰箱。(代码体现了,去看看)

2.3事物是如何体现的?

A:属性  有哪些特征

B:行为  有哪些功能

2.4类与对象的关系:(掌握)

把事物转换成类:

A:成员变量:定义在类中,方法外。

B:成员方法:和以前的区别是去掉static。

:是相关的属性和行为的集合。是一个抽象的概念。

对象:是某种事物的具体存在,具体的表现形式。

举例:  类:学生     对象:张三

2.5案例:  

 A:学生类     B:手机类     C:汽车类(内存图)

2.5如何使用呢?

A:创建对象  格式:

类名 对象名 = new 类名();

B:使用成员变量和成员方法

对象名.成员变量

对象名.成员方法


3.   成员变量和局部变量的区别(理解)

3.1定义位置的区别

成员变量:类中,方法外

局部变量:方法中,方法声明中

3.2初始化值的区别

成员变量:都有默认值

局部变量:没有初始化值,必须先赋值才能使用。

3.3存储位置的区别

成员变量:堆内存中

局部变量:栈内存中

3.4生命周期的区别

成员变量:随着对象的存在消失

局部变量:随着函数方法调用的开始与结束


4.   封装(理解)

4.1隐藏实现细节,提供公共的访问方式。

类,方法等其实都是封装的具体体现。

4.2private关键字

4.2.1用于修饰成员变量,成员方法。

4.2.2被修饰的内容在其他类中无法访问的。

4.3常见应用

类中所有的成员变量私有,只给出对应的set,get方法。

代码体现

class Day07_Student
{
	private int age;
	private char sex;
	private String name;
	
	Day07_Student()
	{}

	Day07_Student(int age,char sex,String name)
	{
		this.age=age;
		this.sex=sex;
		this.name=name;
	}

	void setAge(int age)
	{
		this.age=age;
	}

	int getAge()
	{
		return age;
	}

	void setSex(char sex)
	{
		this.sex=sex;
	}

	char getSex()
	{
		return sex;
	}

	void setName(String name)
	{
		this.name=name;
	}

	String getName()
	{
		return name;
	}

	void show()
	{
		System.out.println("姓名为:"+name+"\t年龄为:"+age+"\t性别为:"+sex);
	}
}

class Day07_StudentTest
{
	public static void main(String[] args)
	{
		Day07_Student s1=new Day07_Student(25,'男',"高富帅\");
		s1.show();
		System.out.println("\n=========啦啦啦啦我是可爱的分隔符=====================\n");
		Day07_Student s2=new Day07_Student();
		s2.setAge(20);
		s2.setSex('女');
		s2.setName("白富美");
		System.out.println("姓名为:"+s2.getName()+"年龄为:"+s2.getAge()+"性别为:"+s2.getSex());
		System.out.println("\n=========啦啦啦啦我是可爱的分隔符=====================\n");
		s2.show();
	}
}



5.   构造方法(掌握)

5.1格式及特点

格式:

访问权限修饰符 类名(参数){}

反问权限修饰符:public ,private

特点:

方法名类名相同

没有返回值类型

没有具体的返回值

5.2注意事项

5.2.1如果不给构造方法,jvm默认给一个无参构造方法。

5.2.2如果给出构造方法,那么jvm将不再提供无参构造方法。

这个时候,如果要使用无参构造方法,必须自己提供。(推荐永远手动给出无参构造方法)


6.   this关键字(掌握)

6.1是一个关键字,代表当前类的引用。

简单:在方法中,那个对象调用方法,this就代表谁。

6.2应用场景

解决局部变量隐藏成员变量


7.   static关键字(理解)

7.1是一个关键字。

可以修饰成员变量的成员方法。

7.2静态的特点:

随着类的加载而加载

优先于对象存在

被类的所有对象所共享

可以通过类名直接调用

7.3静态的注意事项

在静态方法中是没有this关键字的

静态方法只能访问静态的成员变量和静态的成员方法

7.4静态的调用方法

被对象调用       被类名直接调用


8.   Math类的随机数(理解)

类名调用静态方法。

:java.lang

:Math

方法:public static double random()

取1-100之间的一个随机整数

int x=Math.random()*100+1;



-----------------------android培训java培训、java学习型技术博客、期待与您交流!----------------------

详情请查看:http://edu.csdn.net/


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值