码迷,mamicode.com
首页 > 编程语言 > 详细

Java_Day04

时间:2016-04-22 21:06:00      阅读:238      评论:0      收藏:0      [点我收藏+]

标签:java 类 面向对象

面向对象是基于面向过程的。

面向过程------面向对象(三大特征:继承封装多态)

懒一点。从执行者变为指挥者,只需要找到具备指定功能的对象,通过调用这个对象来实现功能。

 

 

创建类:关键字 class

语法:访问修饰符 class 类名{//public 公共的

//成员变量(属性)

//成员方法(函数)

}

类名.java文件都是源文件,可以定义class(一个或者多个),但是只能有一个public ,public修饰的类的类名必须和源文件的文件名称相同。

想要运行类,需要使用main方法,main方法是程序的入口

 

 

成员变量(属性):

语法:访问修饰符(public) 数据类型 变量名称= ;

成员方法(函数):

语法:访问修饰符 返回类型 方法名称(数据类型 参数名称1,数据类型 参数名称2.......){

//方法体;

Return ;

}

 

Void:该方法不需要返回值,返回值为空

Return:必须和返回类型对应,也就是返回值和返回类型需要匹配。方法进行到return进会终止,不会往下执行。

 

形式参数:方法需要传参,进行参与运算的未知变量

 

算数运算中,在算数符号左右两边出现longdouble/float的时候,全部按照longdouble/float来进行。如果是byte/short/则返回int的结果

 

对象

创建对象(new

语法:类名 对象的名称 =  new 构造方法();

访问:

成员属性:对象的名称.属性名称

成员方法:对象的名称.方法名称

 

 

对象的内存划分

 

方法的重载;一个类中可以(允许)出现一个以上的同名方法,但是必须保证参数类型不同

JVM虚拟机结构划分图



Class Files :源文件编译以后的class文件

Class Loader: 类加载器,负责将类中的信息加载到指定的内存空间中

Execution Engine :执行引擎,负责调用和执行程序

JNI:

Stack:栈,存储方法中产生的局部变量和对象、数组的引用,执行方法时,方法的参数列表;

Heap:存储在运行时,产生的对象和数组的实例(实际内存空间)

Method Area;方法区,存放有类加载器加载的信息,比如:类名,方法名,属性,静态变量 等等

 

构造方法(构造器):

用来构造对象的方法,是一种特殊的方法,这个方法只有一种功能,就是构造对象。

特点:1.构造方法没有返回值。

2.构造方法的名称必须和类名称一致

3.不能在构造方法中写return;

当没有写构造方法的时候,系统会自动给创建一个空的构造方法。

当自己写了有参构造方法的时候,系统就不会给创建空的构造方法了。

 

类的结构:

访问修饰符 class 类名称{

属性1

属性2

。。。

方法1(){};

方法2(){};

} 

public class Day04_01{

public  float add(float a,float b){// byte +byte = int ;short + short = int ;int + int = int 

return a+b;

}

public  int add(byte a){

return a;

}

public static void main(String[] args){

Day04_01 day04_01 = new Day04_01();

byte b1 = 1;

byte b2 = 2;

float f1 = 1f;

float f2 = 2f;

int a = day04_01.add(b1);

float b = day04_01.add(f1,f2);

System.out.print(a+".........."+b);

}

/*

public  short add(short a,short b){

return a+b;

}

public static void main(String[] args){

Person person = new Person();

short b1 = 1;

short b2 = 2;

short a = person.add(b1,b2);

System.out.print(a);

}

*/

}

public class Person{//实体类  一类,对于现实社会中的实物进行抽象的描述

//属性:对象的性质

public String name ;

public int age ;

public Person(){//空的构造方法(无参构造方法)

System.out.println("空的构造方法");

}

public Person(String n,int age){//带参的构造方法

name = n;

age = age;

}

public Person(String n){//带参的构造方法

name = n;

}

//方法:对象的功能

public int eat(){

System.out.println("吃着");

return 0;

}

public boolean sleep(boolean isEat){

if(isEat){

System.out.println("睡着");

return true;

//System.out.println("123");

}else{

return false;

}

}

public void play(){

System.out.println("玩着");

}

public static void main(String[] args){

String str = new String();

Person person1= new Person();

//person1.name= ;

Person person2 = new Person("ls",12);

System.out.println("person1.name:"+person1.name);

Person person3 = new Person("ls");

System.out.println("person3.name :"+ person3.name );

//Person person2= new Person();

/*

int a = 10;

int b = a;

int c = 10;

a = 20;

eat();

Person person1 = new Person();

//person1.name = "zs";

Person person2 = person1;

//person2.age = 15;

System.out.println("person2.name:"+person2.name);

System.out.println("person1.age:"+person1.age);

Person Person3 = new Person();

int[] arr = new int[5];

String str = "";

*/

/*Person person = new Person();

person.name = "zs";

person.age = 100;

person.play();

Person person1= new Person();

person.name = "ls";

person.age = 99;

//int eat = person.eat();

System.out.println("...."+ person.name+"......age:"+person.age );*/

}

}



Java_Day04

标签:java 类 面向对象

原文地址:http://11502125.blog.51cto.com/11492125/1766765

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!