资讯 小学 初中 高中 语言 会计职称 学历提升 法考 计算机考试 医护考试 建工考试 教育百科
栏目分类:
子分类:
返回
空麓网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
空麓网 > 计算机考试 > 软件开发 > 后端开发 > Java

Java学习-面向对象(上)

Java 更新时间: 发布时间: 计算机考试归档 最新发布

Java学习-面向对象(上)

Java学习-面向对象

类=属性+方法
面向对象:以类的方式组织代码,以对象的方式封装数据。

方法的定义和调用

修饰符、返回类型、break和return、方法名、参数列表、异常抛出…
静态方法和非静态方法、形参和实参、值传递和引用传递、tiis…
静态方法:又称类方法,是加staic关键字修饰的方法,在类定义的时候就被分配和装载入内存中。静态方法属于类所有,类实例化前即可使用,同时不能使用super和this关键字。静态方法只能调用静态方法以及访问静态数据域,不能调用实例方法或者访问实例数据域。
非静态方法:又称为实例方法、成员方法,是不加staic关键字修饰的方法,在类定义时不分配内存,只有在类被实例化为对象后,对象调用该方法时才被分配内存,因此非静态方法属于对象,不属于类。非静态方法既能调用静态方法以及访问静态数据域,也能调用实例方法或者访问实例数据域。
形参:形参变量是函数里的变量,只有在被调用时才分配内存,调用结束后立即释放,所以形参只在函数内部有效。
实参:实参可以是常量、变量、表达式、函数等,在调用时必须有确定的值,以便拷贝给形参。
值传递:

public class Demo{
	public static void change(int a){a=10;}
	public static void main(String[] args){
		int a=1;
		System.out.println(a);//1
		Demo.change(a);
		System.out.println(a);//1
	}
}

引用传递:

class Person{String name;}
public class Demo{
	public static void change(Person person){person.name="ABC";}
	public static void main(String[] args){
		Person person = new Person();
		System.out.println(person.name);//null
		Demo.change(person);
		System.out.println(person.name);//ABC
	}
}

类与对象的创建

使用new关键字创建,除了分配内存空间,还会对创建的对象进行默认初始化,以及调用类的构造器。

构造器

一个类即使什么都不写,也会存在一个构造方法,必须和类名相同,必须没有返回类型,也不能写void。
1.使用new创建对象本质是调用构造器
2.初始化
一旦定义了有参构造,无参就必须显式定义。

public class Person{
	String name;
	public Person(){}
	public Person(String name){this.name=name;}//重载
}
public static void main(String[] args){
	Person person = new Person("Nashor");
	System.out.println(person.name);//Nahsor
}

创建对象内存分析

public class Application{	//方法区:Application
	public class Pet{
		public String name;
		public int age;
		public void shout(){System.out.println("叫");}
	}
	public static void main(String[] args){	
	//方法区:main(),常量池:"旺财",栈:main()
	
		Pet dog = new Pet();	
		//方法区:Pet、name=null、age=0、shout()
		//栈:dog引用→堆:new pet()
		//常量池:"旺财"→堆:name
		//堆:shout()→方法区:shout()
		
		dog.name="旺财";
		dog.age=3;
		dog.shout();
	}
}

小结

1.对象通过引用操作:栈→堆
2.属性默认:数字:0、0.0,char:u0000,boolean:false,引用:null
3.对象创建:new,构造器
4.类:静态的属性,动态的方法

转载请注明:文章转载自 http://www.konglu.com/
本文地址:http://www.konglu.com/it/1094263.html
免责声明:

我们致力于保护作者版权,注重分享,被刊用文章【Java学习-面向对象(上)】因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本文部分文字与图片资源来自于网络,转载此文是出于传递更多信息之目的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!

我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2023 成都空麓科技有限公司

ICP备案号:蜀ICP备2023000828号-2