Java基础
来源:互联网 发布:小米电动牙刷 知乎 编辑:程序博客网 时间:2024/06/18 04:24
JAVA:
面向对象:封装,继承,多态
基于对象:javascript
类:一类事物**描述**(共性)
对象:客观世界真实存在(个性)
类成员:
字段(成员变量):规范:先小写后大写
封装:必要性不能让客户随意更改(只对字段)
1)字段:字段私有,private
2)公开getXxx和SetXxx方法
方法:动态的行为
[访问权限] 返回值 方法名 ([参数列表]) {//方法体}
构造方法:没有返回值,与类同名。
类之间的关系:
继承(is-a):泛化
组合(has-a):
合成:整体和个体生命周期相同(耦合度较高)
聚合:整体和个体生命周期不同
关联:yes or no
依赖(use-a)B依赖A:一个A类作为另外一个类B的方法的参数或者返回值
实现:类和借口之间实现关系
继承(耦合度最高):子类 extends 父类 单继承,多实现 C++:多继承,多实现 猴,混乱
{抽象类:abstract关键字修饰
把不确定的部分暴露出去,让子类去实现
复写:子类优先运行和父类一样的方法
final:就一常量}后期补充的
TestPerson:
public class TestPerson {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Person p=new Person();//产生对象
p.setAge(230);
p.setName("郭就");
p.setAddress("黄岛");
p.eat("东软睿道食堂",10,"筷子");
System.out.println(p.getAge()+"\t"+p.getName()+"\t"+p.getAddress());
Phone q=new Phone("lenovo",2000,5);
q.setBrand("apple");
q.Open();
q.Connect();
String s = q.Tellmebrand("vivo");
System.out.println(s);
System.out.println(q.getSize());
System.out.println("My Phone Money is:"+q.getMoney());
//GetTime b = new GetTime();
//Single2 a=new Single2();
}
}
Person.java:
public class Person {
//字段(成员变量)
private int ageOf;//年龄
private String name;//姓名
private String address;//住址
private Pet pet;//组合关系
//构造方法(构造器)
public Person(){
}
public int getAge(){//取变量的值
return ageOf;
}
public void setAge(int a){//给变量赋值
if(a<0||a>150){
System.out.println("Error Age!");
System.exit(-1);
}
this.ageOf=a;
}
public void setAddress(String address) {
this.address = address;
}
public String getAddress() {
return address;
}
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
//方法:
public String eat(String address,double price,String tools){
System.out.println("eating... at "+address+" with "+tools+", price is "+price);
return "good";
}
public void run(){
System.out.println("runing...");
}
public Car buyCar(Car car){//依赖
return car;
}
}
class Car
{
}
class Pet
{
}
Phone.java:
public class Phone {
//成员变量
private String brand;
private int money;
private int size;
//封装
public void setBrand(String brand) {
this.brand = brand;
}
public String getBrand() {
return brand;
}
public void setSize(int size) {
this.size = size;
}
public int getSize() {
return size;
}
public void setMoney(int money) {
this.money = money;
}
public int getMoney() {
return money;
}
//构造方法
public Phone(String x,int a,int b){
setBrand(x);
setMoney(a);
setSize(b);
}
//方法
public void Open(){
System.out.println("Open");
}
public void Connect(){
System.out.println("Connect to Internet");
}
public String Tellmebrand(String brand){
System.out.println("Your Phone brand is "+brand);
return "htc";
}
}
Single.java://饿汉式
class Single {
private Single () {}
private static Single s = new Single();
public static Single getInstance (){
System.out.println("Single1");
return s;
}
}
Single2.java://懒汉式,延迟加载方式
public class Single2 {
private Single2 () {}
private static Single2 s = null;
public static Single2 getInstance (){
if(s == null) s = new Single2();
System.out.println("Single2");
return s;
}
}
GetTime.java://抽象类模板
abstract class GetTime {
public final void getTime(){
long start = System.currentTimeMillis();
code();//抽象实现不确定的部分
long end = System.currentTimeMillis();
System.out.println("毫米是"+(end-start));
}
public abstract void code();//子类复写抽象
}
class SubDemo extends GetTime{
public void code(){
for(int y=0;y<1000;y++){
System.out.println(y);
}
}
}
面向对象:封装,继承,多态
基于对象:javascript
类:一类事物**描述**(共性)
对象:客观世界真实存在(个性)
类成员:
字段(成员变量):规范:先小写后大写
封装:必要性不能让客户随意更改(只对字段)
1)字段:字段私有,private
2)公开getXxx和SetXxx方法
方法:动态的行为
[访问权限] 返回值 方法名 ([参数列表]) {//方法体}
构造方法:没有返回值,与类同名。
类之间的关系:
继承(is-a):泛化
组合(has-a):
合成:整体和个体生命周期相同(耦合度较高)
聚合:整体和个体生命周期不同
关联:yes or no
依赖(use-a)B依赖A:一个A类作为另外一个类B的方法的参数或者返回值
实现:类和借口之间实现关系
继承(耦合度最高):子类 extends 父类 单继承,多实现 C++:多继承,多实现 猴,混乱
{抽象类:abstract关键字修饰
把不确定的部分暴露出去,让子类去实现
复写:子类优先运行和父类一样的方法
final:就一常量}后期补充的
TestPerson:
public class TestPerson {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Person p=new Person();//产生对象
p.setAge(230);
p.setName("郭就");
p.setAddress("黄岛");
p.eat("东软睿道食堂",10,"筷子");
System.out.println(p.getAge()+"\t"+p.getName()+"\t"+p.getAddress());
Phone q=new Phone("lenovo",2000,5);
q.setBrand("apple");
q.Open();
q.Connect();
String s = q.Tellmebrand("vivo");
System.out.println(s);
System.out.println(q.getSize());
System.out.println("My Phone Money is:"+q.getMoney());
//GetTime b = new GetTime();
//Single2 a=new Single2();
}
}
Person.java:
public class Person {
//字段(成员变量)
private int ageOf;//年龄
private String name;//姓名
private String address;//住址
private Pet pet;//组合关系
//构造方法(构造器)
public Person(){
}
public int getAge(){//取变量的值
return ageOf;
}
public void setAge(int a){//给变量赋值
if(a<0||a>150){
System.out.println("Error Age!");
System.exit(-1);
}
this.ageOf=a;
}
public void setAddress(String address) {
this.address = address;
}
public String getAddress() {
return address;
}
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
//方法:
public String eat(String address,double price,String tools){
System.out.println("eating... at "+address+" with "+tools+", price is "+price);
return "good";
}
public void run(){
System.out.println("runing...");
}
public Car buyCar(Car car){//依赖
return car;
}
}
class Car
{
}
class Pet
{
}
Phone.java:
public class Phone {
//成员变量
private String brand;
private int money;
private int size;
//封装
public void setBrand(String brand) {
this.brand = brand;
}
public String getBrand() {
return brand;
}
public void setSize(int size) {
this.size = size;
}
public int getSize() {
return size;
}
public void setMoney(int money) {
this.money = money;
}
public int getMoney() {
return money;
}
//构造方法
public Phone(String x,int a,int b){
setBrand(x);
setMoney(a);
setSize(b);
}
//方法
public void Open(){
System.out.println("Open");
}
public void Connect(){
System.out.println("Connect to Internet");
}
public String Tellmebrand(String brand){
System.out.println("Your Phone brand is "+brand);
return "htc";
}
}
Single.java://饿汉式
class Single {
private Single () {}
private static Single s = new Single();
public static Single getInstance (){
System.out.println("Single1");
return s;
}
}
Single2.java://懒汉式,延迟加载方式
public class Single2 {
private Single2 () {}
private static Single2 s = null;
public static Single2 getInstance (){
if(s == null) s = new Single2();
System.out.println("Single2");
return s;
}
}
GetTime.java://抽象类模板
abstract class GetTime {
public final void getTime(){
long start = System.currentTimeMillis();
code();//抽象实现不确定的部分
long end = System.currentTimeMillis();
System.out.println("毫米是"+(end-start));
}
public abstract void code();//子类复写抽象
}
class SubDemo extends GetTime{
public void code(){
for(int y=0;y<1000;y++){
System.out.println(y);
}
}
}
0 0
- Java基础01:基础
- Java基础:基础加强
- Java基础-基础
- java基础的基础
- JAVA基础---基础常识
- Java基础:基础加强
- [Java 基础]基础语法
- Java基础
- java基础
- java 基础
- java基础
- Java基础
- Java基础
- Java基础
- JAVA基础
- JAVA基础
- JAVA基础
- java基础
- iOS开发系列--UITableView全面解析
- 机器学习基础知识
- 第5章
- VIM collection
- linux 工具链
- Java基础
- Linux的基本命令第一节
- IOS开发系列--无限循环的图片浏览器
- 【整理】多文件处理
- MyEclipse启动Tomcat时Console不显示(已解决+配图)转载
- 第十一周 阅读程序 (3)
- linux 进程编程:进程创建
- Android开发——本机Tomcat搭建服务器,客户端socket网络连接不上问题以及D-LINK端口转发设置
- Hough Transform(霍夫变换)检测Circle(圆)的几种方法