面向对象语法
1、面向对象思想
面向过程
面向对象。
开发哲学 思想
软件本质是什么?
软件是一种表达现实世界的逻辑。
世界是什么?
事物 和事物之间的关系过程。
数据结构表示关系;
事物 (状态 行为) 对象
(属性 方法)
对象 是构成软件 的单位;
对象有什么 属性 方法;
构成软件的粒度 扩大了;
2、类的定义
class 类的名字 {
//属性的定义
//方法的定义;
}
//类的定义
一个符号化的类的定义
final||public||abstract||static class XX extends YY implments ZZ{
//定义属性
public||private||protected||static
transient||synchronized||... 修饰符号
//定义方法
public||private||protected||static
transient||synchronized||... 修饰符号
//构造函数
//代码块
//静态代码块
}
举例说明
以用为度
class Student{
String id;
String name;
int age;
boolean stduy(String coursename){
return false;
}
boolean sing(String song_name){
return false;
}
boolean eat(Object something){
return false;
}
}
添加一个知识点
public class Student{
}
public 修饰一个类的时候,两层含义
1、该类必须存为 类名.java
2、该类是公共类,任何人都可以使用;
编译得到的是类名.class
3、对象的生成和使用
声明
Student tom; 声明的本质是起名字,对象不存在;
创建
tom = new Student(); //创建对象;
初始化
属性一一赋值
tom.id="xxx";
tom.name="****";
tom.age=xx;
创建的过程再解析
对象是new 出来的,new 做了三件事
a、分配空间; 再堆中为属性分配空间
b、默认初始化;调用类中的直接初始化语句
c、调用构造函数。调用类的构造函数,没有
调用默认;
画图说明该过程:
创建对象一定要明白:对象的名字和对象 不是一个东西;
名字在栈中、对象在对中;
名字也叫做引用,引用的本质是指针,
但是,Java 不提倡叫指针。
(Java 对外从来的宣传都是Java去掉指针)
使用对象
有名字的
tom.id;
tom.sing();
匿名对象
new Student().sing("喜洋洋");
匿名对象一般都是一次性调用的时候使用。
4、构造函数
tom = new Student();
tom.id="";
tom.name="";
tom.age=22;
太烦
能不能
tom = new Student("1234","赵四",20);
我们为了简化 初始化过程,
我们搞一个语法
在new 的时候,接受参数,然后参数赋值
给对象的属性,这样,new 结束,对象
初始化结束。
这玩意,叫做构造函数。
构造函数语法规定
1、构造函数没有返回;
2、构造函数的名字必须和类名一样。
举例:
class Student{
String id ;
String name;
int age = 33;
Student(String id,String name ,int age){
this.id=id;
this.name=name;
this.age = age;
}
boolean stduy(String coursename){
return false;
}
boolean sing(String song_name){
return false;
}
boolean eat(Object something){
return false;
}
}
构造函数注意:
a、一个类,默认有一个无参构造;
b、如果用户编写构造,则不提供默认构造;
所以,程序员编写类的习惯一定要自己写无参构造。
构造函数式为了初始化方便设计的一种函数,
所以,一个类中,可以有任意多个构造函数,
可以实现 初始化更加灵活、方便。
5、函数的重载
把功能相近的方法设计成一样的函数名,不同的参数。
这种现象叫做,函数的重载。
好处:别人使用方便。
public void add(int x,int y){}
public void add(int a,int b){}
这个不是
所谓 不同参 :指 个数不同,或者,类型不同;
6、对象的清除
堆中的数据的,是我们软件最占用内存地方;
1、面向对象思想
面向过程
面向对象。
开发哲学 思想
软件本质是什么?
软件是一种表达现实世界的逻辑。
世界是什么?
事物 和事物之间的关系过程。
数据结构表示关系;
事物 (状态 行为) 对象
(属性 方法)
对象 是构成软件 的单位;
对象有什么 属性 方法;
构成软件的粒度 扩大了;
2、类的定义
class 类的名字 {
//属性的定义
//方法的定义;
}
//类的定义
一个符号化的类的定义
final||public||abstract||static class XX extends YY implments ZZ{
//定义属性
public||private||protected||static
transient||synchronized||... 修饰符号
//定义方法
public||private||protected||static
transient||synchronized||... 修饰符号
//构造函数
//代码块
//静态代码块
}
举例说明
以用为度
class Student{
String id;
String name;
int age;
boolean stduy(String coursename){
return false;
}
boolean sing(String song_name){
return false;
}
boolean eat(Object something){
return false;
}
}
添加一个知识点
public class Student{
}
public 修饰一个类的时候,两层含义
1、该类必须存为 类名.java
2、该类是公共类,任何人都可以使用;
编译得到的是类名.class
3、对象的生成和使用
声明
Student tom; 声明的本质是起名字,对象不存在;
创建
tom = new Student(); //创建对象;
初始化
属性一一赋值
tom.id="xxx";
tom.name="****";
tom.age=xx;
创建的过程再解析
对象是new 出来的,new 做了三件事
a、分配空间; 再堆中为属性分配空间
b、默认初始化;调用类中的直接初始化语句
c、调用构造函数。调用类的构造函数,没有
调用默认;
画图说明该过程:
创建对象一定要明白:对象的名字和对象 不是一个东西;
名字在栈中、对象在对中;
名字也叫做引用,引用的本质是指针,
但是,Java 不提倡叫指针。
(Java 对外从来的宣传都是Java去掉指针)
使用对象
有名字的
tom.id;
tom.sing();
匿名对象
new Student().sing("喜洋洋");
匿名对象一般都是一次性调用的时候使用。
4、构造函数
tom = new Student();
tom.id="";
tom.name="";
tom.age=22;
太烦
能不能
tom = new Student("1234","赵四",20);
我们为了简化 初始化过程,
我们搞一个语法
在new 的时候,接受参数,然后参数赋值
给对象的属性,这样,new 结束,对象
初始化结束。
这玩意,叫做构造函数。
构造函数语法规定
1、构造函数没有返回;
2、构造函数的名字必须和类名一样。
举例:
class Student{
String id ;
String name;
int age = 33;
Student(String id,String name ,int age){
this.id=id;
this.name=name;
this.age = age;
}
boolean stduy(String coursename){
return false;
}
boolean sing(String song_name){
return false;
}
boolean eat(Object something){
return false;
}
}
构造函数注意:
a、一个类,默认有一个无参构造;
b、如果用户编写构造,则不提供默认构造;
所以,程序员编写类的习惯一定要自己写无参构造。
构造函数式为了初始化方便设计的一种函数,
所以,一个类中,可以有任意多个构造函数,
可以实现 初始化更加灵活、方便。
5、函数的重载
把功能相近的方法设计成一样的函数名,不同的参数。
这种现象叫做,函数的重载。
好处:别人使用方便。
public void add(int x,int y){}
public void add(int a,int b){}
这个不是
所谓 不同参 :指 个数不同,或者,类型不同;
6、对象的清除
堆中的数据的,是我们软件最占用内存地方;